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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x619004
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
movzx ebp, byte [esp + 0xbc]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00619260
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x618feb
mov dword [esp + 0x64], edi
xor eax, eax
lea edi, [esp + 0x8c]
call fcn.0046457b
mov ecx, dword [esp + 0xb8]
mov edi, edx
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x618bfc
mov edx, 1
jmp 0x618c08
mov edx, dword [esp + 0xc0]
test edx, edx
sete dl
mov byte [esp + 0x34], dl
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
test ebp, ebp
sete dl
mov byte [esp + 0x37], dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ebx, ebx
seta bl
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x618d2e
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], edi
lea edi, [esp + 0xa0]
call fcn.0046457b
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
call fcn.00618370
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x36], cl
lea edi, [esp + 0xa0]
lea esi, [esp + 0xc]
call fcn.00464a5e
lea edi, [esp + 0x78]
lea esi, [esp + 0xa0]
call fcn.00464a5e
movzx ecx, byte [esp + 0x36]
test cl, cl
je 0x618ccb
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x64]
xor ecx, ecx
xor eax, eax
xor edi, edi
xor edx, edx
jmp 0x618d87
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00409560
mov eax, dword [esp + 4]
lea ecx, [0x73c638]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x6abc00]
mov dword [esp], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00409420
mov eax, dword [esp + 8]
lea ecx, [0x73c624]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.006195c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
movzx edi, byte [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x618fce
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], eax
xchg edi, eax
mov byte [esp + 0x35], al
xchg edi, eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.006195c0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
test ebp, ebp
jne 0x618fb1
movzx ebp, byte [esp + 0x34]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x618f16
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x64], edi
mov ebp, dword [esp + 0x44]
test ebp, ebp
xchg ebp, ebx
setbe bl
xchg ebp, ebx
movzx edi, byte [esp + 0x37]
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x618e95
mov byte [esp + 0x37], al
mov dword [esp + 0x68], ecx
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
movzx ecx, byte [esp + 0x35]
mov byte [esp + 4], cl
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.00619870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
test edx, edx
jne 0x618f01
movzx eax, byte [esp + 0x37]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov byte [esp + 4], al
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
call fcn.00619870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test edx, edx
jne 0x618eec
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
jmp 0x618f16
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0xb4
ret
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0xb4
ret
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0x38], esi
mov dword [ecx + 0x3c], ebx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x618f32
mov dword [ecx + 0x34], edi
jmp 0x618f3e
lea edx, [ecx + 0x34]
mov eax, edi
mov edi, edx
call fcn.004642e0
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x618f6f
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x8c]
call fcn.00464a5e
call fcn.00618110
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
cmp eax, 2
sete al
mov byte [esp + 0x9c], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x8c]
call fcn.00464a5e
call fcn.00619010
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xb4
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
call fcn.00462ed0
jmp fcn.00618b50