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

Disassembly:
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0xcbc]
lea edx, [ecx + eax*4]
lea ecx, [esp + 0x1c]
push edx
call 0x5b5481
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov dword [esp + 0xc0], 0x15
call 0x5b5481
mov ecx, esi
call fcn.00495030
fcomp qword [esp + 0x8c]
fnstsw ax
test ah, 0x41
je 0x496d50
mov ecx, dword [0x5f9f88]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x24]
lea edi, [esi + 0xc6c]
push edx
push eax
mov ecx, edi
mov byte [esp + 0xc0], 0x16
call 0x5b42cc
test eax, eax
je 0x496d1a
mov eax, dword [0x5f9f88]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xac]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
mov byte [esp + 0xd8], bl
call 0x5b5481
mov ecx, esi
call fcn.004949d0
push 3
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call 0x5b5481
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
mov byte [esp + 0xc8], 0x1a
call 0x5b5481
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
mov byte [esp + 0xd0], 0x1b
call 0x5b5481
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x88]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xd4], bl
call fcn.00494900
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xbc], 0x1c
call 0x5b5845
lea ecx, [esp + 0x74]
mov byte [esp + 0xb8], bl
call 0x5b570c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, edi
call 0x5b42f2
mov ecx, eax
call 0x5b5895
lea ecx, [esp + 0x8c]
call fcn.005950b2
push eax
lea ecx, [esp + 0x90]
call fcn.00595088
push eax
lea ecx, [esp + 0x94]
call fcn.0059505e
push eax
mov ecx, esi
call fcn.00492c00
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call 0x5b5481
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
mov byte [esp + 0xc8], 0x1d
call 0x5b5481
push ecx
mov byte [esp + 0xc8], 0x1e
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x5e6488
call 0x5b577a
mov ecx, esi
mov byte [esp + 0xc8], bl
call fcn.00494230
mov ecx, dword [esp + 0x20]
push 1
push ecx
lea ecx, [esi + 0xcb8]
call 0x5b3996
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call 0x5b5481
mov ecx, esi
call fcn.00495030
mov eax, dword [0x5f9f88]
mov dword [esp + 0x54], 0
fstp qword [esp + 0x4c]
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xb8], 0x1f
call fcn.00595130
push eax
lea ecx, [esp + 0x50]
call 0x595106
push eax
lea ecx, [esp + 0x54]
call fcn.005950dc
push eax
lea ecx, [esp + 0x50]
push 0x5eb764
push ecx
call 0x5b0eb4
mov eax, dword [esp + 0x6c]
add esp, 0x14
test eax, eax
je 0x496b2d
mov edx, dword [0x5f9f88]
mov dword [esp + 0x18], edx
and al, 0x18
mov eax, dword [esp + 0x34]
mov byte [esp + 0xb8], 0x20
test eax, eax
je 0x496994
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call 0x5b5481
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
mov byte [esp + 0xc4], 0x21
call 0x5b5481
lea eax, [esp + 0x78]
mov byte [esp + 0xc0], 0x20
push eax
call fcn.0048cbe0
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xbc], 0x22
call 0x5b5845
lea ecx, [esp + 0x70]
mov byte [esp + 0xb8], 0x20
call 0x5b570c
lea ecx, [esp + 0x14]
call 0x5b0ec7
mov ecx, dword [esp + 0x18]
push 0x5fe7d8
push ecx
call 0x59d3ed
add esp, 8
test eax, eax
je 0x4969ea
lea edx, [esp + 0x18]
lea eax, [esp + 0x6c]
push edx
push 0x5eb758
push eax
call 0x5b5a15
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xbc], 0x23
call 0x5b5b24
lea ecx, [esp + 0x6c]
mov byte [esp + 0xb8], 0x20
call 0x5b570c
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x64]
push ecx
push 0x5eb784
push edx
call 0x5b5a15
push 0x5eb77c
push eax
lea eax, [esp + 0x70]
mov byte [esp + 0xc0], 0x24
push eax
call 0x5b59a1
lea ecx, [esp + 0x10]
lea edx, [esp + 0x7c]
push ecx
push eax
push edx
mov byte [esp + 0xc4], 0x25
call 0x5b593b
push 0x5eb77c
push eax
lea eax, [esp + 0x88]
mov byte [esp + 0xc0], 0x26
push eax
call 0x5b59a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xbc], 0x27
call 0x5b5845
lea ecx, [esp + 0x80]
mov byte [esp + 0xb8], 0x26
call 0x5b570c
lea ecx, [esp + 0x7c]
mov byte [esp + 0xb8], 0x25
call 0x5b570c
lea ecx, [esp + 0x68]
mov byte [esp + 0xb8], 0x24
call 0x5b570c
lea ecx, [esp + 0x64]
mov byte [esp + 0xb8], 0x20
call 0x5b570c
push 4
push 0
push 0
push 0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call 0x5b5481
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
mov byte [esp + 0xd4], 0x28
call 0x5b5481
push 1
push 0
push ecx
lea edx, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
mov byte [esp + 0xe0], 0x29
call 0x5b5481
push ecx
lea eax, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0xac], esp
push eax
mov byte [esp + 0xe4], 0x2a
call 0x5b5481
mov ecx, esi
mov byte [esp + 0xe0], 0x20
call fcn.00496d90
mov byte [esp + 0xb8], 0x1f
lea ecx, [esp + 0x18]
jmp 0x496cd2
mov eax, dword [esp + 0x34]
test eax, eax
je 0x496cd7
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x88], esp
push edx
call 0x5b5481
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0xc4], 0x2b
call 0x5b5481
lea ecx, [esp + 0x50]
mov byte [esp + 0xc0], 0x1f
push ecx
call fcn.0048cbe0
mov edx, dword [esp + 0x54]
push 0x5fe7d8
push edx
mov byte [esp + 0xcc], 0x2c
call 0x59d3ed
add esp, 0x14
test eax, eax
je 0x496cc6
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x40]
push eax
push 0x5eb784
push ecx
call 0x5b5a15
push 0x5eb77c
lea edx, [esp + 0x60]
push eax
push edx
mov byte [esp + 0xc4], 0x2d
call 0x5b59a1
lea ecx, [esp + 0x10]
lea edx, [esp + 0x78]
push ecx
push eax
push edx
mov byte [esp + 0xc4], 0x2e
call 0x5b593b
push 0x5eb77c
push eax
lea eax, [esp + 0x68]
mov byte [esp + 0xc0], 0x2f
push eax
call 0x5b59a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xbc], 0x30
call 0x5b5845
lea ecx, [esp + 0x60]
mov byte [esp + 0xb8], 0x2f
call 0x5b570c
lea ecx, [esp + 0x78]
mov byte [esp + 0xb8], 0x2e
call 0x5b570c
lea ecx, [esp + 0x5c]
mov byte [esp + 0xb8], 0x2d
call 0x5b570c
lea ecx, [esp + 0x40]
mov byte [esp + 0xb8], 0x2c
call 0x5b570c
push 4
push 0
push 0
push 0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call 0x5b5481
push ecx
mov byte [esp + 0xd0], 0x31
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5fe7d8
call 0x5b577a
push 1
push 0
push ecx
lea eax, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
mov byte [esp + 0xe0], 0x32
call 0x5b5481
push ecx
mov byte [esp + 0xe0], 0x33
mov ecx, esp
mov dword [esp + 0x64], esp
push 0x5eb74c
call 0x5b577a
mov byte [esp + 0xe0], 0x2c
mov ecx, esi
call fcn.00496d90
mov byte [esp + 0xb8], 0x1f
lea ecx, [esp + 0x48]
call 0x5b570c
lea ecx, [esp + 0x44]
mov byte [esp + 0xb8], bl
call 0x5b570c
lea ecx, [esp + 0x10]
mov byte [esp + 0xb8], 0x18
call 0x5b570c
lea ecx, [esp + 0x14]
mov byte [esp + 0xb8], 0x17
call 0x5b570c
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb8], 0x16
call 0x5b570c
lea ecx, [esp + 0x24]
mov byte [esp + 0xb8], 0x15
call 0x5b570c
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], 0xffffffff
call 0x5b570c
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
jns 0x4966a7
jmp 0x496d64
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], 0xffffffff
call 0x5b570c
mov ecx, esi
call 0x5b6108
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4