Function at 0x4066d1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
push edi
lea ecx, [ebp - 0x64]
call fcn.0040d7f7
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x14]
or edi, 0xffffffff
mov eax, dword [eax]
dec eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0x49dc04
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x20], eax
call fcn.0040d7f7
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [esi]
push 0x48
mov eax, dword [edx + eax*4]
pop ecx
movzx eax, word [eax + 8]
mov dword [ebp - 0x1c], 0x7f
cmp ax, cx
je 0x40684d
mov dword [ebp - 0x14], 0x40
mov byte [ebp - 5], 0
test ax, ax
je 0x475e02
mov eax, dword [esi]
mov eax, dword [edx + eax*4]
cmp word [eax + 8], 0x33
jne 0x475e3d
push dword [eax]
lea ecx, [ebp - 0x40]
call fcn.00406eed
mov eax, dword [ebp - 0x28]
xor edi, edi
test eax, eax
je 0x40678f
mov esi, dword [ebp - 0x2c]
mov ebx, eax
mov ecx, dword [esi + edi*4]
lea edx, [ebp - 0x40]
call fcn.00406926
test al, al
jne 0x406786
inc edi
cmp edi, ebx
jb 0x406772
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
fdivr dword [ebx]
clc
cmp edi, eax
jne 0x475e51
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.004064cf
inc dword [esi]
mov ecx, dword [esi]
mov edx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x41
jne 0x4067fc
cmp byte [ebp - 5], 0
jne 0x4067fc
lea eax, [ecx + 1]
xor ecx, ecx
mov edi, eax
mov dword [esi], eax
mov eax, dword [edx + edi*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
je 0x406919
push 0x48
pop ebx
cmp ax, bx
mov ebx, dword [ebp + 8]
je 0x406911
cmp ax, word [ebp - 0x14]
je 0x4068d2
cmp ax, word [ebp - 0x1c]
je 0x40691f
lea eax, [edi + 1]
jmp 0x4067bf
mov edi, dword [ebp - 0x10]
cmp edi, 0xffffffff
jne 0x40691f
mov eax, dword [ebp - 0xc]
mov ecx, dword [esi]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [edx + ecx*4]
movzx eax, word [eax + 8]
cmp ax, word [ebp - 0x14]
jne 0x4068f3
inc ecx
push 0x48
mov eax, dword [edx + ecx*4]
pop edi
cmp word [eax + 8], di
mov edi, dword [ebp - 0x10]
mov dword [esi], ecx
je 0x475e3f
mov eax, dword [esi]
push 0x48
mov eax, dword [edx + eax*4]
pop ecx
movzx eax, word [eax + 8]
cmp ax, cx
jne 0x40673d
inc dword [esi]
mov ecx, dword [esi]
mov eax, dword [ebx + 4]
push 0x7f
mov eax, dword [eax + ecx*4]
pop ecx
cmp word [eax + 8], cx
jne 0x475e65
mov ebx, dword [ebp + 0x14]
push ebx
call fcn.00405752
test eax, eax
js 0x475e73
push dword [ebp + 0x10]
lea ecx, [ebp - 0x64]
call fcn.00406eed
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
dec eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], eax
cmp edi, 0xffffffff
jne 0x406899
mov edi, eax
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x44], al
lea eax, [ebp - 0x64]
push eax
mov ecx, 0x4c1298
mov dword [ebp - 0x4c], edi
call fcn.00405476
lea ecx, [ebp - 0x40]
call fcn.0040cb37
lea ecx, [ebp - 0x30]
call fcn.004053f2
lea ecx, [ebp - 0x64]
call fcn.0040cb37
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
leave
ret 0x14
test ecx, ecx
jne 0x4067f7
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp edi, 0xffffffff
jne 0x40680b
mov edi, eax
mov dword [ebp - 0x10], edi
jmp 0x40680b
push 0x48
pop ebx
cmp ax, bx
mov ebx, dword [ebp + 8]
jne 0x475e2e
cmp ax, word [ebp - 0x14]
jne 0x406838
jmp 0x406822
dec ecx
js 0x4068da
jmp 0x4067f7
inc ecx
jmp 0x4067f7
push 0xffffffffffffffff
jmp 0x475e39
jmp 0xca40ef2e
out 0x3c, eax
std
adc al, ch
sbb eax, 0x4d16cefa
cld
call 0x3446c9c2
inc esp
xor eax, dword [esp - 4]
and al, 0xfc
jmp 0xe403050
call 0x8a4be959
mov eax, dword [eax]
cmp eax, 0x24
jne 0x475e58
push es
mov byte [ebp - 5], 1
jmp 0x475e5d
cmp eax, 0x1e
jne 0x475e72
lea eax, [ecx + 1]
mov dword [esi], eax
mov eax, dword [edx + eax*4]
xor ecx, ecx
cmp word [eax + 8], cx
je 0x475e46
jmp 0x40678e
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
inc ebx
add al, 0x8b
add al, 0x88
movsx eax, word [eax + 0xa]