Rev 662 | Rev 673 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 662 | Rev 668 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | push ebp |
33 | push ebp |
34 | push edi |
34 | push edi |
35 | push esi |
35 | push esi |
36 | push ebx |
36 | push ebx |
37 | sub esp, 28 |
37 | sub esp, 44 |
38 | 38 | ||
- | 39 | mov ebp, [esp+68] |
|
- | 40 | mov ebx, [esp+64] |
|
- | 41 | mov edx, ebp |
|
- | 42 | mov esi, ebp |
|
- | 43 | add edx, [ebp+60] |
|
- | 44 | mov edi, ebx |
|
- | 45 | mov [esp+32], edx |
|
- | 46 | ||
- | 47 | mov ecx, [edx+84] |
|
- | 48 | shr ecx, 2 |
|
- | 49 | rep movsd |
|
- | 50 | ||
Line 39... | Line -... | ||
39 | mov edx, [esp+52] |
- | |
40 | mov ebx, [esp+48] |
- | |
41 | mov dword [esp+20], 0 |
- | |
42 | add edx, [edx+60] |
- | |
43 | movzx eax, word [edx+6] |
51 | movzx eax, word [edx+6] |
44 | mov [esp+16], edx |
52 | mov dword [esp+36], 0 |
45 | mov [esp+12], eax |
53 | mov [esp+28], eax |
46 | jmp .L6 |
54 | jmp .L6 |
47 | .L7: |
55 | .L7: |
48 | mov eax, [edx+264] |
56 | mov eax, [edx+264] |
- | 57 | test eax, eax |
|
- | 58 | je .L8 |
|
- | 59 | ||
49 | mov ebp, [edx+260] |
60 | mov esi, ebp |
50 | mov esi, [esp+52] |
61 | mov edi, ebx |
51 | add esi, [edx+268] |
62 | add esi, [edx+268] |
52 | mov ecx, eax |
63 | mov ecx, eax |
53 | lea edi, [ebx+ebp] |
64 | add edi, [edx+260] |
Line 54... | Line 65... | ||
54 | 65 | ||
55 | shr ecx, 2 |
66 | shr ecx, 2 |
Line -... | Line 67... | ||
- | 67 | rep movsd |
|
56 | rep movsd |
68 | |
- | 69 | .L8: |
|
- | 70 | mov ecx, [edx+256] |
|
57 | 71 | add ecx, 4095 |
|
58 | mov ecx, [edx+256] |
72 | and ecx, -4096 |
- | 73 | cmp ecx, eax |
|
59 | cmp ecx, eax |
74 | jbe .L10 |
- | 75 | ||
- | 76 | sub ecx, eax |
|
Line 60... | Line 77... | ||
60 | jbe .L8 |
77 | add eax, [edx+260] |
61 | sub ecx, eax |
78 | lea edi, [eax+ebx] |
Line 62... | Line 79... | ||
62 | 79 | ||
63 | xor eax, eax |
80 | xor eax, eax |
64 | rep stosb |
81 | rep stosb |
65 | 82 | ||
66 | .L8: |
83 | .L10: |
67 | inc dword [esp+20] |
84 | inc dword [esp+36] |
68 | add edx, 40 |
85 | add edx, 40 |
Line 69... | Line 86... | ||
69 | .L6: |
86 | .L6: |
70 | mov eax, [esp+12] |
87 | mov esi, [esp+28] |
71 | cmp [esp+20], eax |
88 | cmp [esp+36], esi |
Line -... | Line 89... | ||
- | 89 | jne .L7 |
|
72 | jne .L7 |
90 | |
73 | 91 | mov edi, [esp+32] |
|
74 | mov edx, [esp+16] |
92 | cmp dword [edi+164], 0 |
75 | cmp dword [edx+164], 0 |
93 | je .L13 |
- | 94 | ||
76 | je .L11 |
95 | mov eax, [esp+32] |
77 | 96 | mov edi, ebx |
|
78 | mov edi, ebx |
97 | mov ecx, ebx |
79 | mov ecx, ebx |
98 | sub edi, [eax+52] |
80 | sub edi, [edx+52] |
99 | add ecx, [eax+160] |
81 | add ecx, [edx+160] |
100 | |
82 | mov eax, edi |
101 | mov edx, edi |
83 | shr eax, 16 |
102 | shr edx, 16 |
84 | mov [esp+4], eax |
103 | mov [esp+20], edx |
85 | jmp .L13 |
104 | jmp .L15 |
86 | .L14: |
105 | .L16: |
87 | lea esi, [eax-8] |
106 | lea esi, [eax-8] |
88 | xor ebp, ebp |
107 | xor ebp, ebp |
89 | shr esi,1 |
108 | shr esi, 1 |
90 | jmp .L15 |
109 | jmp .L17 |
91 | .L16: |
110 | .L18: |
92 | movzx eax, word [ecx+8+ebp*2] |
111 | movzx eax, word [ecx+8+ebp*2] |
Line 93... | Line 112... | ||
93 | mov edx, eax |
112 | mov edx, eax |
94 | shr eax, 12 |
113 | shr eax, 12 |
Line 95... | Line 114... | ||
95 | and edx, 4095 |
114 | and edx, 4095 |
96 | add edx, [ecx] |
115 | add edx, [ecx] |
Line 97... | Line 116... | ||
97 | cmp ax, 2 |
116 | cmp ax, 2 |
98 | je .L19 |
117 | je .L21 |
99 | 118 | ||
100 | cmp ax, 3 |
119 | cmp ax, 3 |
101 | je .L20 |
120 | je .L22 |
102 | 121 | ||
103 | dec ax |
122 | dec ax |
104 | jne .L17 |
123 | jne .L19 |
105 | 124 | ||
106 | mov eax, [esp+4] |
125 | mov eax, [esp+20] |
107 | add word [edx+ebx], ax |
126 | add [edx+ebx], ax |
- | 127 | .L21: |
|
108 | .L19: |
128 | add [edx+ebx], di |
109 | add word [edx+ebx], di |
129 | .L22: |
110 | .L20: |
130 | add [edx+ebx], edi |
111 | add [edx+ebx], edi |
131 | .L19: |
112 | .L17: |
132 | inc ebp |
113 | inc ebp |
133 | .L17: |
114 | .L15: |
134 | cmp ebp, esi |
115 | cmp ebp, esi |
135 | jne .L18 |
116 | jne .L16 |
136 | |
Line 117... | Line 137... | ||
117 | add ecx, [ecx+4] |
137 | add ecx, [ecx+4] |
118 | .L13: |
138 | .L15: |
119 | mov eax, [ecx+4] |
139 | mov eax, [ecx+4] |
120 | test eax, eax |
140 | test eax, eax |
121 | jne .L14 |
141 | jne .L16 |
122 | .L11: |
142 | .L13: |
Line 123... | Line 143... | ||
123 | mov edx, [esp+16] |
143 | mov edx, [esp+32] |
124 | cmp dword [edx+132], 0 |
144 | cmp dword [edx+132], 0 |
125 | je .L22 |
145 | je .L24 |
126 | 146 | ||
127 | mov eax, ebx |
147 | mov eax, ebx |
128 | add eax, [edx+128] |
148 | add eax, [edx+128] |
129 | lea esi, [eax+20] |
149 | lea esi, [eax+20] |
130 | .L24: |
150 | .L26: |
131 | cmp dword [esi-16], 0 |
151 | cmp dword [esi-16], 0 |
132 | jne .L25 |
152 | jne .L27 |
133 | 153 | ||
134 | cmp dword [esi-8], 0 |
154 | cmp dword [esi-8], 0 |
135 | je .L22 |
155 | je .L24 |
Line 136... | Line 156... | ||
136 | .L25: |
156 | .L27: |
137 | mov ecx, [esi-20] |
157 | mov ecx, [esi-20] |
Line 138... | Line 158... | ||
138 | mov ebp, ebx |
158 | mov ebp, ebx |
139 | add ebp, [esi-4] |
159 | add ebp, [esi-4] |
140 | add ecx, ebx |
160 | add ecx, ebx |
141 | mov [esp+24], ecx |
161 | mov [esp+40], ecx |
142 | .L27: |
162 | .L29: |
143 | mov edx, [esp+24] |
163 | mov edi, [esp+40] |
144 | mov eax, [edx] |
164 | mov eax, [edi] |
145 | test eax, eax |
165 | test eax, eax |
146 | je .L28 |
166 | je .L30 |
147 | 167 | ||
148 | test eax, eax |
168 | test eax, eax |
149 | js .L28 |
169 | js .L30 |
150 | 170 | ||
151 | lea eax, [eax+2+ebx] |
- | |
152 | mov edi, kernel_export |
171 | lea eax, [eax+2+ebx] |
153 | mov dword [ebp], -1 |
172 | mov edi, kernel_export |
154 | mov [esp+8], eax |
173 | mov [ebp], dword -1 |
155 | .L31: |
174 | mov [esp+24], eax |
156 | push ecx |
175 | .L33: |
157 | push 16 |
176 | push ecx |
158 | push dword [edi] |
177 | push 16 |
159 | push dword [esp+20] |
178 | push dword [edi] |
160 | call strncmp |
179 | push dword [esp+36] |
161 | pop edx |
180 | call strncmp |
162 | test eax, eax |
181 | pop edx |
163 | jne .L32 |
182 | test eax, eax |
164 | 183 | jne .L34 |
|
165 | mov eax, [edi+4] |
184 | mov eax, [edi+4] |
166 | mov [ebp], eax |
185 | mov [ebp], eax |
167 | jmp .L34 |
- | |
168 | .L32: |
186 | jmp .L36 |
169 | add edi, 8 |
187 | .L34: |
170 | cmp dword [edi], 0 |
- | |
171 | jne .L31 |
188 | add edi, 8 |
172 | .L34: |
189 | cmp dword [edi], 0 |
173 | add dword [esp+24], 4 |
- | |
174 | add ebp, 4 |
190 | jne .L33 |
175 | jmp .L27 |
191 | .L36: |
176 | .L28: |
192 | add dword [esp+40], 4 |
177 | add esi, 20 |
193 | add ebp, 4 |
178 | jmp .L24 |
- | |
179 | .L22: |
194 | jmp .L29 |
- | 195 | .L30: |