Function at 0x41f3d0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9e8
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa14]
test esi, esi
push edi
mov dword [esp + 0x30], 0x202
jne 0x41f40b
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x338]
lea esi, [esp + 0x338]
rep stosd dword es:[edi], eax
mov dword [esp + 0xa18], esi
mov eax, dword [esp + 0xa10]
mov ecx, dword [esp + 0xa00]
lea ebx, [ecx + eax]
cmp ebx, 0x20
mov dword [esp + 0x5c], ebx
ja 0x4204c7
mov ebp, dword [esp + 0xa08]
test ebp, ebp
je 0x4204c7
push 0x46afa0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov ecx, 0x9c
lea edi, [esp + 0xc8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xa1c]
and eax, 1
mov dword [esp + 0x44], eax
je 0x41f481
mov eax, dword [esi + 0x34]
test ah, 0x40
jne 0x41f47a
and eax, 0x8075
jmp 0x41f47d
and eax, 0x70
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
cmp dword [esi + 0xc], eax
jbe 0x41f48c
mov dword [esi + 0xc], eax
push 0x30
shl ebx, 6
push ebx
call fcn.00426460
add esp, 8
test eax, eax
mov dword [esp + 0x50], eax
jne 0x41f4b4
call fcn.004260a0
mov eax, dword [eax]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9e8
ret
mov esi, dword [esp + 0xa0c]
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], edi
mov ebp, edi
lea ecx, [ecx]
mov dx, word [esi + 2]
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov cx, dx
add eax, ecx
mov dword [esp + 0x28], eax
movsx eax, word [esi]
test eax, eax
je 0x41f599
cmp eax, 9
je 0x41f599
inc edi
cmp eax, 4
jne 0x41f543
mov eax, dword [esp + 0x1e0]
inc eax
cmp ebx, 0x7fffffff
mov dword [esp + 0x1e0], eax
je 0x41f5a3
cmp dx, 0xc
jne 0x41f531
mov ebx, 0x7fffffff
jmp 0x41f5a3
lea ecx, [ecx*8 - 0x40]
mov edx, 1
shl edx, cl
add ebx, edx
jmp 0x41f5a3
cmp eax, 2
je 0x41f57d
cmp eax, 1
je 0x41f57d
cmp eax, 8
jne 0x41f571
mov eax, dword [esp + 0x1c]
inc eax
dec edi
inc ebx
cmp dx, 0x101
mov dword [esp + 0x1c], eax
lea ebp, [ecx + ebp - 2]
jbe 0x41f5a3
inc dword [esp + 0x2c]
add ebx, 2
jmp 0x41f5a3
cmp eax, 3
je 0x41f5a3
add dword [esp + 0x10], ecx
dec edi
jmp 0x41f5a3
cmp ebx, 0x7fffffff
je 0x41f592
xor eax, eax
cmp dx, 0xff
seta al
inc eax
add ebx, eax
mov eax, dword [esp + 0x10]
inc eax
jmp 0x41f59f
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
add esi, 0x20
dec eax
mov dword [esp + 0x24], eax
jne 0x41f4e0
mov ecx, edi
and ecx, 7
cmp cl, 1
mov dword [esp + 0x24], ebx
jne 0x41f5f5
mov eax, dword [esp + 0xa0c]
cmp esi, eax
je 0x41f5f5
mov edi, edi
sub esi, 0x20
cmp word [esi], 3
jne 0x41f5e0
cmp word [esi + 2], 1
je 0x41f5e6
cmp esi, eax
jne 0x41f5d0
jmp 0x41f5f5
mov eax, dword [esp + 0x10]
dec edi
inc eax
mov word [esi], 0
mov dword [esp + 0x10], eax
test edi, edi
mov al, byte [esp + 0xa1c]
jne 0x41f604
test al, 2
je 0x41f611
mov edx, dword [esp + 0x14]
or edx, 1
mov dword [esp + 0x14], edx
jmp 0x41f615
mov edx, dword [esp + 0x14]
test dl, 1
jne 0x41f621
and edx, 0xffffffdf
mov dword [esp + 0x14], edx
test dl, 5
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
jne 0x41f632
lea ecx, [ebp + ecx*2]
add esi, ecx
test al, 4
mov dword [esp + 0x10], esi
je 0x41f64b
or edx, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], 0x602
test al, 8
jne 0x41f654
test dl, 0x20
je 0x41f664
mov ecx, dword [esp + 0x10]
or edx, 0x20
inc ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
test al, 0x40
je 0x41f66f
or edx, 0x40
mov dword [esp + 0x14], edx
lea eax, [edi + 7]
shr eax, 3
cmp ebx, 0x7fffffff
mov dword [esp + 0x60], eax
je 0x41f69c
mov edi, dword [esp + 0x28]
mov ecx, edx
and ecx, 0x22
sub cl, 0x22
neg cl
sbb ecx, ecx
inc ecx
add ecx, eax
add ecx, edi
add ebx, ecx
mov dword [esp + 0x24], ebx
add dword [esp + 0x10], eax
mov ebp, dword [esp + 0xa18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov esi, eax
or esi, ecx
jne 0x41f728
mov eax, ebp
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x41f70f
cmp ebx, 0x7fffffff
je 0x41f70f
xor esi, esi
push esi
push ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
xor edi, edi
call fcn.0042e550
cmp edx, edi
ja 0x41f6f3
jb 0x41f6dd
cmp eax, ebx
jae 0x41f6f3
mov eax, dword [esp + 0xa18]
or ecx, 0xffffffff
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov ebp, eax
xor edi, edi
jmp 0x41f74d
push esi
push ebp
push edi
push ebx
call fcn.0042e4a0
mov ecx, dword [esp + 0xa18]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov ebp, ecx
xor edi, edi
jmp 0x41f74d
mov ebp, dword [esp + 0xa18]
mov dword [eax + 0x18], 0x7ffffffe
mov dword [eax + 0x1c], 0
xor edi, edi
jmp 0x41f751
mov esi, dword [ebp + 8]
xor edi, edi
cmp esi, edi
jne 0x41f751
mov esi, dword [esp + 0x10]
and dl, 1
neg dl
push edi
sbb edx, edx
and edx, 3
add edx, esi
push edx
push ecx
push eax
call fcn.0042e550
mov dword [ebp + 8], eax
mov edx, dword [esp + 0x14]
mov ebx, edx
and ebx, 5
push 4
je 0x41f764
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
push edx
push eax
jmp 0x41f769
mov ecx, dword [ebp + 8]
push edi
push ecx
call fcn.00420500
mov esi, eax
mov eax, dword [ebp + 8]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x54], eax
or eax, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], ecx
jne 0x41f7b6
lea ecx, [esi*8]
mov eax, 1
xor edx, edx
call fcn.0042e0f0
mov ecx, dword [esp + 0x10]
push edi
add eax, 0xffffffff
push ecx
adc edx, 0xffffffff
push edx
push eax
call fcn.0042e550
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
cmp ebx, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x64], eax
jne 0x41f7cf
cmp eax, esi
ja 0x41f7d7
lea edx, [esi + 1]
mov dword [esp + 0x28], edx
jmp 0x41f7d7
add eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x130], eax
cmp dword [esp + 0xa10], edi
lea ecx, [esp + 0x7f8]
lea edx, [esp + 0x378]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
je 0x41f82b
mov eax, dword [0x44271c]
add esi, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], esi
cmp dword [esp + 0xa00], edi
mov esi, dword [esp + 0xa04]
mov dword [esp + 0x18], edi
jbe 0x41fb22
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x134]
mov dword [ecx + eax*8], 0xffffffff
mov edx, dword [esp + 0x134]
mov dword [edx + eax*8 + 4], 0xffffffff
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov ax, word [esi + 2]
xor ecx, ecx
xor edi, edi
test al, al
jns 0x41f8e2
mov eax, dword [esp + 0x44]
or ebx, 2
test eax, eax
mov word [esi + 2], 0x8a
mov dword [esp + 0x14], ebx
je 0x41f896
add word [esi], 0xfffe
mov bp, word [esi]
mov eax, dword [esi + 0x18]
xor edi, edi
mov di, bp
xor ecx, ecx
test edi, edi
jle 0x41f8bf
mov dl, byte [eax]
cmp dl, 1
je 0x41f8b7
cmp dl, 0xf
jne 0x41fcf6
inc ecx
add eax, 0x18
cmp ecx, edi
jl 0x41f8a7
mov ecx, dword [esp + 0x34]
add ebp, 2
add ecx, 0x102
mov dword [esp + 0x20], ecx
mov word [esi], bp
mov ecx, 1
mov edi, 0xfe
jmp 0x41fa1e
test al, 2
je 0x41f933
mov edx, dword [esi + 0x18]
xor eax, eax
mov ax, word [edx + 6]
test al, 1
je 0x41f901
cmp byte [edx], 7
jne 0x41f901
and eax, 0xfffe
mov word [edx + 6], ax
mov edx, dword [esi + 0x18]
mov ax, word [edx + 6]
test al, 0x29
jne 0x41f921
xor edx, edx
mov dx, word [esi + 2]
and edx, 0xfffd
or edx, 0x28
mov word [esi + 2], dx
jmp 0x41f933
or eax, 2
mov word [edx + 6], ax
or byte [esi + 2], 8
or ebx, 2
mov dword [esp + 0x14], ebx
mov ax, word [esi + 2]
test al, 0x20
je 0x41f942
or ebx, 2
mov dword [esp + 0x14], ebx
test al, 0x10
je 0x41f960
mov eax, dword [esp + 0xa18]
mov dl, byte [eax + 0x39]
test dl, dl
je 0x41f960
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x1dc], edx
cmp word [esi], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], 0
jbe 0x41fa1e
movzx edx, byte [eax]
add edx, 0xfffffffd
cmp edx, 0xb
ja case.0x41f987.7
movzx edx, byte [edx + 0x4204ec]
jmp dword [edx*4 + 0x4204e4]
or byte [eax + 6], 0x40
test byte [eax + 6], 1
je 0x41f9b8
or byte [esi + 2], 0xc
mov dx, word [eax + 8]
xor ebp, ebp
mov bp, dx
or ebx, 2
inc ecx
add edi, ebp
cmp dx, 0xff
jb 0x41f9b8
add edi, 2
add ecx, 2
test byte [eax + 6], 0x28
je 0x41f9de
or byte [esi + 2], 8
mov dx, word [eax + 8]
xor ebp, ebp
mov bp, dx
inc ecx
or ebx, 2
add edi, ebp
cmp dx, 0xff
jb 0x41f9de
add edi, 2
add ecx, 2
movzx edx, word [eax + 8]
mov ebp, dword [esp + 0x20]
add ebp, edx
mov dl, byte [eax + 2]
test dl, dl
mov dword [esp + 0x20], ebp
je 0x41fa03
or byte [eax + 6], 0x10
inc ebp
or ebx, 2
or byte [esi + 2], 0x48
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x1c]
movzx ebp, word [esi]
inc edx
add eax, 0x18
cmp edx, ebp
mov dword [esp + 0x1c], edx
jb 0x41f975
mov dword [esp + 0x14], ebx
mov ax, word [esi]
mov ebp, dword [esp + 0x38]
xor edx, edx
mov dx, ax
add ebp, edx
cmp ax, 0x10
mov dword [esp + 0x38], ebp
ja 0x41fcf6
mov al, byte [esi + 2]
and al, 0x41
cmp al, 1
jne 0x41fa56
test ebp, ebp
je 0x41fa56
mov edx, dword [esp + 0x130]
mov dword [edx + ebp*4 - 4], 1
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
add ecx, ebp
mov ebp, dword [0x44271c]
lea edx, [ecx + eax]
lea eax, [edx*4 + 0x1b]
xor edx, edx
div ebp
inc eax
imul eax, ebp
cmp ax, 0x4000
mov word [esi + 6], ax
ja 0x41fcf6
cmp ecx, 0x264
jae 0x41fcf6
mov edx, dword [esp + 0x4c]
movzx eax, ax
cmp edx, eax
jae 0x41faa1
mov dword [esp + 0x4c], eax
mov ax, word [esp + 0x20]
mov word [esi + 0xa], ax
mov eax, dword [esp + 0x2c]
mov edx, ecx
sub edx, edi
cmp ecx, eax
mov word [esi + 0xc], dx
mov word [esi + 0xe], cx
jbe 0x41fac2
mov dword [esp + 0x2c], ecx
movzx edi, word [esi + 6]
xor edx, edx
add ecx, ecx
lea eax, [edi - 5]
div ecx
mov edx, dword [esp + 0x58]
push 0
push eax
mov eax, dword [esp + 0x5c]
push edx
push eax
call fcn.0042e550
mov ecx, eax
mov ebp, edx
mov eax, edi
cdq
push edx
push eax
push ebp
push ecx
call fcn.0042e4a0
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
add ecx, eax
mov eax, dword [esp + 0x18]
adc ebp, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa00]
inc eax
add esi, 0x30
cmp eax, ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x18], eax
jb 0x41f847
xor edi, edi
mov eax, dword [esp + 0x4c]
shr eax, 0xa
cmp eax, edi
mov dword [esp + 0x1c], eax
je 0x41fb45
or ecx, 0xffffffff
dec eax
mov dword [esp + eax*8 + 0x378], ecx
mov dword [esp + eax*8 + 0x37c], ecx
jne 0x41fb34
mov eax, dword [esp + 0xa10]
mov edi, dword [esp + 0xa14]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], ebx
jbe 0x41fc05
mov edx, dword [esp + 0xa00]
lea esi, [edx*8]
nop
mov al, byte [esp + 0x18]
mov cl, byte [esp + 0xa00]
mov edx, dword [esp + 0x134]
add al, cl
movzx ecx, word [edi]
mov byte [edi + 2], al
mov dword [esi + edx], 0xffffffff
mov eax, dword [esp + 0x134]
mov dword [esi + eax + 4], 0xffffffff
mov ebp, dword [0x44271c]
add ebx, ecx
mov ecx, dword [esp + 0x34]
xor edx, edx
lea ecx, [ecx + ecx + 8]
lea eax, [ebp - 5]
div ecx
mov edx, dword [esp + 0x58]
push 0
push eax
mov eax, dword [esp + 0x5c]
push edx
push eax
call fcn.0042e550
push 0
push ebp
push edx
push eax
call fcn.0042e4a0
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
add ecx, eax
mov eax, dword [esp + 0x18]
adc ebp, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa10]
inc eax
add esi, 8
add edi, 0xc
cmp eax, ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x18], eax
jb 0x41fb70
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xa10]
mov eax, dword [esp + 0x1c]
add eax, edx
add ecx, esi
lea eax, [ecx + eax*2 + 0x2c]
shl eax, 2
lea esi, [esi + edx*2]
add edx, esi
lea edx, [eax + edx*4 + 0x64]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa08]
imul eax, eax, 7
mov dword [esp + 0x38], ecx
add ecx, ebx
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*2]
push 4
lea edx, [esp + 0xcc]
add eax, ecx
push 0x442708
push edx
mov dword [esp + 0x2c], eax
call fcn.0042e710
mov esi, dword [esp + 0xa24]
mov eax, dword [esi + 0x34]
mov ecx, dword [esp + 0x20]
and eax, 0x4000
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0x4004
or eax, ecx
mov dword [esi + 0x34], eax
mov byte [esp + 0xcd], al
shr eax, 8
mov byte [esp + 0xcc], al
mov eax, dword [esp + 0x20]
mov byte [esp + 0xcf], al
shr eax, 8
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x18]
mov byte [esp + 0xd5], al
shr eax, 8
mov byte [esp + 0xd4], al
mov al, byte [esi + 0x38]
test al, al
mov byte [esp + 0xd1], 0xb0
mov byte [esp + 0xd0], 0
mov byte [esp + 0xd3], 0x64
mov byte [esp + 0xd2], 0
je 0x41fdd1
mov byte [esp + 0xdc], al
jmp 0x41fddf
call fcn.004260a0
mov dword [eax], 0x8c
mov ebp, dword [esp + 0x10]
push 0x46afa0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.004260a0
mov esi, dword [eax]
mov eax, dword [esp + 0x48]
dec eax
je 0x41fd6e
dec eax
je 0x41fd37
dec eax
jne 0x41fdb0
mov edx, dword [esp + 0x24]
push 0
push edx
call fcn.00425d30
add esp, 8
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x41fd6e
mov eax, dword [esp + 0x9fc]
push 0
push 6
push str..MYD
push 0x458ae4
push eax
lea ecx, [esp + 0x40c]
push ecx
call fcn.00426640
add esp, 0x14
push eax
call fcn.00429ab0
add esp, 8
push 0
push ebp
call fcn.00425d30
mov eax, dword [esp + 0x4c]
add esp, 8
test eax, eax
jne 0x41fdb0
mov edx, dword [esp + 0x9fc]
push 0
push 6
push str..MYI
push 0x458ae4
push edx
lea eax, [esp + 0x40c]
push eax
call fcn.00426640
add esp, 0x14
push eax
call fcn.00429ab0
add esp, 8
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004264f0
add esp, 4
call fcn.004260a0
pop edi
mov dword [eax], esi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x9e8
ret
mov eax, dword [0x4457e8]
mov cl, byte [eax]
mov byte [esp + 0xdc], cl
mov dl, byte [esp + 0x1c]
or eax, 0xffffffff
mov byte [esp + 0xdd], dl
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esp + 0x120], eax
xor eax, eax
push eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
call fcn.0042e1cb
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x120], ecx
mov ecx, edi
imul ecx, dword [esp + 0x60]
mov dword [esp + 0x160], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x278], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x1d4], eax
shl ecx, 4
xor eax, eax
add esp, 4
add ecx, edx
mov edx, dword [esi + 0x24]
adc eax, ebp
mov ebp, dword [esi + 0x20]
shrd ecx, eax, 0xa
shr eax, 0xa
cmp edx, eax
mov dword [esp + 0x16c], 0xffff
jb 0x41fe94
ja 0x41fe90
cmp ebp, ecx
jbe 0x41fe94
mov ecx, ebp
mov eax, edx
push 3
push eax
push ecx
call fcn.00420500
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0xa1c]
xor edx, edx
mov dl, cl
mov byte [esp + 0xe7], al
mov eax, dword [esp + 0x44]
mov byte [esp + 0xe3], al
shr eax, 8
mov byte [esp + 0xe2], al
mov byte [esp + 0xe5], bl
mov dword [esp + 0x1e4], edx
shr ebx, 8
add esp, 0xc
mov eax, 1
xor edx, edx
mov byte [esp + 0xda], cl
mov byte [esp + 0xd8], bl
call fcn.0042e0f0
mov ecx, dword [0x44271c]
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov edx, dword [esp + 0x20]
lea eax, [edx + ecx - 1]
mov edx, dword [esi + 0xc]
dec ecx
not ecx
and eax, ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x2c]
add eax, 0xb
xor ecx, ecx
and eax, 0xfffffff8
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x18c], ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1ac], edx
mov edx, dword [esp + 0x24]
mov eax, ecx
shr eax, 5
mov dword [esp + 0x1e8], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c0], edx
mov edx, dword [esp + 0x10]
and eax, 1
add eax, edi
test cl, 0x10
mov edi, dword [esp + 0xa08]
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1cc], edx
je 0x41ffe1
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
lea edx, [eax + 3]
mov ecx, 0x14
cmp edx, ecx
jae 0x420003
mov edx, dword [esp + 0x1e0]
test edx, edx
jne 0x420003
cmp eax, ecx
mov dword [esp + 0x1c4], eax
ja 0x42000a
mov dword [esp + 0x1c4], ecx
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x420022
push ebp
call fcn.0042e1cb
add esp, 4
mov dword [esp + 0x160], eax
mov eax, dword [esi]
test eax, eax
je 0x420071
push 4
push str..MYI
push 0x458ae4
push eax
lea eax, [esp + 0x408]
push eax
call fcn.00426640
mov ebx, dword [esp + 0xa10]
push 4
push str..MYI
push 0x458ae4
lea ecx, [esp + 0x618]
push ebx
push ecx
call fcn.00426640
add esp, 0x28
lea ecx, [esp + 0x5f8]
xor eax, eax
jmp 0x4200a5
mov ebx, dword [esp + 0x9fc]
lea edx, [ebp + 4]
neg edx
sbb edx, edx
and edx, 0x20
push edx
push str..MYI
push 0x458ae4
lea eax, [esp + 0x404]
push ebx
push eax
call fcn.00426640
add esp, 0x14
xor ecx, ecx
mov eax, 0x100
mov edx, dword [esp + 0x30]
or eax, 0x10
push eax
push edx
push 0
lea eax, [esp + 0x404]
push eax
push ecx
call fcn.00429960
mov edi, eax
add esp, 0x14
test edi, edi
mov dword [esp + 0x10], edi
jl 0x41fd01
test ebp, ebp
mov dword [esp + 0x48], 1
jne 0x420170
mov esi, dword [esi + 4]
test esi, esi
push 4
push str..MYD
push 0x458ae4
je 0x420128
lea ecx, [esp + 0x404]
push esi
push ecx
call fcn.00426640
push 4
push str..MYD
push 0x458ae4
lea edx, [esp + 0x618]
push ebx
push edx
call fcn.00426640
add esp, 0x28
lea ecx, [esp + 0x5f8]
xor eax, eax
jmp 0x420140
lea eax, [esp + 0x404]
push ebx
push eax
call fcn.00426640
add esp, 0x14
xor ecx, ecx
mov eax, 0x100
mov edx, dword [esp + 0x30]
or eax, 0x10
push eax
push edx
push 0
lea eax, [esp + 0x404]
push eax
push ecx
call fcn.00429960
add esp, 0x14
test eax, eax
mov dword [esp + 0x24], eax
jl 0x41fd01
mov dword [esp + 0x48], 3
push 2
lea ecx, [esp + 0xcc]
push ecx
push edi
call fcn.0040d2b0
add esp, 0xc
test eax, eax
jne 0x41fd01
lea edx, [esp + 0x188]
push edx
push edi
call fcn.0040e160
add esp, 8
test eax, eax
jne 0x41fd01
mov ecx, dword [esp + 0xa10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1d8]
sub eax, ecx
je 0x4202b8
mov ebx, dword [esp + 0xa04]
jmp 0x4201d0
mov edi, dword [esp + 0x10]
nop
lea esp, [esp]
xor ecx, ecx
mov cl, byte [ebx + 2]
push ebx
push edi
shr ecx, 6
and ecx, 2
mov ebp, ecx
call fcn.0040e850
add esp, 8
test eax, eax
jne 0x41fd01
movzx edx, word [ebx]
xor esi, esi
sub edx, ebp
je 0x420228
xor edi, edi
lea ebx, [ebx]
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
add eax, edi
push eax
push ecx
call fcn.0040e980
add esp, 8
test eax, eax
jne 0x41fd01
movzx edx, word [ebx]
inc esi
sub edx, ebp
add edi, 0x18
cmp esi, edx
jb 0x420200
test ebp, ebp
mov dword [esp + 0x1c], 0
jbe 0x420294
mov dword [esp + 0x30], 0x43b1a0
lea esp, [esp]
mov eax, dword [ebx + 0x18]
mov esi, dword [esp + 0x30]
mov ecx, 6
lea edi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [eax + 1]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xb0]
push edx
push eax
mov byte [esp + 0xb9], cl
call fcn.0040e980
add esp, 8
test eax, eax
jne 0x41fd01
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
inc eax
add edx, 0x18
cmp eax, ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
jb 0x420240
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0xa10]
inc eax
sub ecx, esi
add ebx, 0x30
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4201c7
mov ebx, dword [esp + 0xa10]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0x80]
rep stosd dword es:[edi], eax
lea edx, [ebx*4]
sub esi, edx
test ebx, ebx
mov ecx, 6
lea edi, [esp + 0x68]
rep stosd dword es:[edi], eax
mov dword [esp + 0x18], eax
jbe 0x420391
mov eax, dword [esp + 0x34]
lea edi, [eax + 4]
mov edi, edi
mov cx, word [0x44271c]
lea edx, [esp + 0x80]
mov ax, di
push edx
mov dword [esp + 0x78], esi
push ebp
mov word [esp + 0x88], 1
mov word [esp + 0x8a], 0x100
mov word [esp + 0x8e], cx
mov word [esp + 0x92], ax
mov word [esp + 0x96], ax
mov word [esp + 0x94], ax
mov byte [esp + 0x70], 9
mov word [esp + 0x78], 4
add esi, 4
call fcn.0040e850
add esp, 8
test eax, eax
jne 0x41fd01
lea eax, [esp + 0x68]
push eax
push ebp
call fcn.0040e980
add esp, 8
test eax, eax
jne 0x41fd01
mov eax, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x18], eax
jb 0x420300
mov al, byte [esp + 0xdb]
test al, al
mov dword [esp + 0x18], 0
jbe 0x42040a
mov esi, dword [esp + 0xa14]
nop
lea esp, [esp]
push esi
push ebp
call fcn.0040eae0
add esp, 8
test eax, eax
jne 0x41fd01
xor ebx, ebx
cmp word [esi], bx
jbe 0x4203f2
xor edi, edi
nop
lea esp, [esp]
mov ecx, dword [esi + 4]
add ecx, edi
push ecx
push ebp
call fcn.0040e980
add esp, 8
test eax, eax
jne 0x41fd01
movzx edx, word [esi]
inc ebx
add edi, 0x18
cmp ebx, edx
jb 0x4203d0
mov eax, dword [esp + 0x18]
movzx ecx, byte [esp + 0xdb]
inc eax
add esi, 0xc
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4203b0
mov eax, dword [esp + 0x1c8]
xor edi, edi
test eax, eax
jbe 0x420441
mov esi, dword [esp + 0xa0c]
mov edi, edi
push esi
push ebp
call fcn.0040eb50
add esp, 8
test eax, eax
jne 0x41fd01
mov eax, dword [esp + 0x1c8]
inc edi
add esi, 0x20
cmp edi, eax
jb 0x420420
mov edx, dword [esp + 0x188]
push 0
push 0
push 0
push edx
push ebp
call fcn.00427270
add esp, 0x14
test eax, eax
jne 0x41fd05
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x420487
mov eax, dword [esp + 0x24]
push 0
push eax
mov dword [esp + 0x50], 2
call fcn.00425d30
add esp, 8
test eax, eax
jne 0x41fd05
push 0x46afa0
mov dword [esp + 0x4c], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push ebp
call fcn.00425d30
add esp, 8
test eax, eax
jne 0x41fd05
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004264f0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x9e8
ret
call fcn.004260a0
pop edi
pop esi
pop ebp
mov dword [eax], 0x8c
mov eax, 0x8c
pop ebx
add esp, 0x9e8
ret