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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x72d54a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x1c]
call fcn.005b3190
lea ecx, [esp + 0x24]
mov dword [esp + 0xdc], 0
call fcn.005b3190
lea ecx, [esp + 0xc]
mov byte [esp + 0xdc], 1
call fcn.005b3190
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 2
call fcn.005b3190
lea ecx, [esp + 0x4c]
mov byte [esp + 0xdc], 3
call fcn.00405ed0
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne 0x668b45
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed6c0
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
mov edi, eax
mov dword [esp + 0x3c], edi
call fcn.005ed690
movzx eax, byte [ebp + 8]
dec eax
je 0x6687ef
dec eax
je 0x6687eb
dec eax
jne 0x668b45
push 0x20
mov ecx, esi
call fcn.004d6780
push 1
mov ecx, esi
mov ebx, eax
call fcn.004d6230
test eax, eax
jne 0x668b45
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne 0x668b45
mov edx, dword [edi]
mov eax, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
mov eax, dword [eax]
test eax, eax
je 0x668741
mov eax, dword [eax + 8]
test eax, eax
mov esi, eax
je 0x668b45
jmp 0x668750
cmp dword [esi + 4], ebx
je 0x66876c
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [edi]
call fcn.005e9b90
mov esi, eax
test esi, esi
jne 0x668750
jmp 0x668b45
mov edx, dword [esp + 0x30]
mov ecx, dword [edi]
push edx
call fcn.005e9c10
mov ecx, esi
call fcn.005f1090
push esi
call fcn.006fa390
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 2
call fcn.005e5c20
lea ecx, [esp + 0xc]
mov byte [esp + 0xdc], 1
call fcn.005e5c20
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0
call fcn.005e5c20
lea ecx, [esp + 0x1c]
mov dword [esp + 0xdc], 0xffffffff
call fcn.005e5c20
mov eax, 1
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bl, 1
jmp 0x668827
mov ecx, dword [edi]
cmp dword [ecx], 0
je 0x66881c
call fcn.005e9c80
mov edi, eax
test edi, edi
je 0x668811
mov ecx, edi
call fcn.005f1090
push edi
call fcn.006fa390
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
cmp dword [ecx], 0
jne 0x6687f6
push 8
mov ecx, esi
call fcn.004d6720
mov bl, al
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne 0x668b45
mov dword [esp + 0x34], eax
movzx ax, bl
test ax, ax
mov word [esp + 0x2e], ax
jbe 0x668b34
mov edi, edi
push 0x20
mov ecx, esi
call fcn.004d6780
mov ecx, esi
mov edi, eax
call fcn.00692630
push 0x20
lea ecx, [esp + 0x7c]
push ecx
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.004d67e0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 4
call fcn.005e5c50
lea ecx, [esp + 0x78]
mov byte [esp + 0xdc], 3
call fcn.005e5c20
mov ecx, esi
call fcn.004d66f0
cmp eax, 1
mov dword [esp + 0x48], eax
jne 0x668a0c
mov ecx, esi
call fcn.00692630
push 0
lea ecx, [esp + 0x94]
mov dword [esp + 0x44], eax
call fcn.00405ed0
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, esi
call fcn.00692660
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0xe0], 5
call fcn.005e5c50
lea ecx, [esp + 0x70]
mov byte [esp + 0xdc], 3
call fcn.005e5c20
push 0
lea ecx, [esp + 0xb4]
call fcn.00405ed0
push eax
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.00692660
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], 6
call fcn.005e5c50
lea ecx, [esp + 0x88]
mov byte [esp + 0xdc], 3
call fcn.005e5c20
lea ecx, [esp + 0x14]
call fcn.005e58a0
test eax, eax
jne 0x6689d6
push 0x73d5d8
lea ecx, [esp + 0x60]
call fcn.005e5a90
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], 7
call fcn.005e5d10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x84]
push edx
mov ecx, eax
mov byte [esp + 0xe4], 8
call fcn.005e5d10
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0xe0], 9
call fcn.005e5c50
lea ecx, [esp + 0x80]
mov byte [esp + 0xdc], 8
call fcn.005e5c20
lea ecx, [esp + 0x64]
mov byte [esp + 0xdc], 7
call fcn.005e5c20
lea ecx, [esp + 0x5c]
mov byte [esp + 0xdc], 3
call fcn.005e5c20
push 0x10
mov ecx, esi
call fcn.004d6750
cmp ax, 0xfffe
mov dword [esp + 0x38], eax
jb 0x668a0c
push 0x10
lea eax, [esp + 0xa4]
push eax
mov ecx, esi
call fcn.004d6180
push eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x54]
call fcn.00406120
push 1
mov ecx, esi
xor ebx, ebx
call fcn.004d6230
test eax, eax
jne 0x668b45
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
push edi
call fcn.005ed6d0
test eax, eax
jne 0x668a77
push 0x38
mov ebx, 1
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
mov byte [esp + 0xdc], 0xa
je 0x668a67
push edi
mov ecx, eax
call fcn.0064b460
mov byte [esp + 0xdc], 3
mov edi, eax
test eax, eax
jmp 0x668a89
xor eax, eax
mov byte [esp + 0xdc], 3
mov edi, eax
test eax, eax
jmp 0x668a89
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
push edi
call fcn.005ed6d0
mov edi, eax
test edi, edi
je 0x668b45
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x1c]
mov dword [edi + 0x28], ecx
push edx
lea ecx, [edi + 0xc]
call fcn.005e5c50
cmp dword [esp + 0x48], 1
jne 0x668b0f
lea eax, [esp + 0xc]
push eax
lea ecx, [edi + 0x30]
call fcn.005e5c50
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [edi + 0x2c], ecx
push edx
mov ecx, edi
call fcn.005ee5c0
mov eax, dword [esp + 0x38]
cmp ax, 0xfffe
jb 0x668b0f
xor ecx, ecx
cmp ax, 0xfffe
sete cl
lea edx, [esp + 0x4c]
push ecx
push edx
call fcn.00647c10
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.005ee480
cmp ebx, 1
jne 0x668b20
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
push edi
call fcn.005e9d70
mov eax, dword [esp + 0x34]
inc eax
cmp ax, word [esp + 0x2e]
mov dword [esp + 0x34], eax
jb 0x668850
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
je 0x668788
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 2
call fcn.005e5c20
lea ecx, [esp + 0xc]
mov byte [esp + 0xdc], 1
call fcn.005e5c20
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0
call fcn.005e5c20
lea ecx, [esp + 0x1c]
mov dword [esp + 0xdc], 0xffffffff
call fcn.005e5c20
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4