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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x667f02
sub esp, 0x70
mov edx, dword [esp + 0x84]
mov ebx, dword [edx]
test ebx, ebx
jne 0x667cdd
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
xor eax, eax
jmp 0x667d11
mov eax, dword [edx + 4]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], eax
add esp, 0x70
ret
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
mov ecx, ebp
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x667dbe
call fcn.0048bbf0
lea edi, [esp + 0x5c]
lea esi, [esp]
call fcn.004695de
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x38], ecx
lea edi, [esp]
lea esi, [esp + 0x5c]
call fcn.004695de
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
call fcn.0048b090
lea edi, [esp + 0x48]
lea esi, [esp + 0x1c]
call fcn.004695de
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x48]
call fcn.004695de
call eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
cmp ecx, eax
jb 0x667efc
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov ebp, dword [ebp + 0x2c]
mov dword [esp], esi
sub edx, eax
mov dword [esp + 0x34], edx
sub ecx, eax
neg edx
sar edx, 0x1f
and edx, eax
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0x8c]
cmp ebp, ecx
jle 0x667e62
test eax, eax
jg 0x667e28
xor eax, eax
jmp 0x667e64
mov eax, dword [0x96ea90]
mov ecx, dword [0x96ea94]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00470ba0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x8c]
jmp 0x667e64
xor eax, eax
test al, al
jne 0x667cfd
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x667ec0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x30], ecx
mov dword [esp], edx
lea edi, [esp + 4]
xor eax, eax
call fcn.004690fb
mov ecx, dword [esp + 0x30]
call ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x84]
mov dword [eax], edx
mov ebp, dword [0x995310]
test ebp, ebp
je 0x667ee0
call fcn.00468e70
mov dword [edi], ebx
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [eax + 4], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebx
add esp, 0x70
ret
call fcn.00468f30
nop
call fcn.00467a60
jmp fcn.00667ca0