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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x492457
sub esp, 0x68
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00492f60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00492f60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00492f60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
test eax, eax
je 0x49207f
jmp 0x4920c6
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x88]
movzx ebp, byte [esp + 0x89]
mov esi, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], bl
xchg ebp, eax
mov byte [esp + 0x11], al
xchg ebp, eax
mov dword [esp + 0x14], 8
call fcn.00492470
jmp 0x492302
cmp dword [esp + 0x38], eax
jb 0x4920d1
jmp 0x4921b9
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4920db
jmp 0x4920e1
inc dword [esp + 0x38]
jmp 0x4920e3
jmp 0x4920e3
movzx eax, byte [esp + 0x88]
mov byte [esp + 0x1b], al
test al, al
jne 0x4920f5
jmp 0x492104
mov eax, dword [esp + 0x3c]
test eax, eax
sete al
mov byte [esp + 0x1b], al
jmp 0x492106
jmp 0x492106
movzx eax, byte [esp + 0x1b]
mov byte [esp + 0x88], al
cmp dword [esp + 0x3c], 0x1dcd6500
seta al
mov byte [esp + 0x1b], al
ja 0x492125
jmp 0x492127
jmp 0x492155
cmp dword [esp + 0x3c], 0x1dcd6500
sete al
mov byte [esp + 0x1a], al
je 0x49213a
jmp 0x492148
movzx eax, byte [esp + 0x89]
mov byte [esp + 0x1a], al
jmp 0x49214a
jmp 0x49214a
movzx eax, byte [esp + 0x1a]
mov byte [esp + 0x1b], al
jmp 0x492155
movzx eax, byte [esp + 0x1b]
mov byte [esp + 0x89], al
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
movzx ebp, byte [esp + 0x88]
mov esi, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
xchg ebp, eax
mov byte [esp + 0x10], al
xchg ebp, eax
mov byte [esp + 0x11], al
mov dword [esp + 0x14], 8
call fcn.00492470
mov eax, dword [esp + 0x6c]
test byte [eax], al
mov ecx, dword [esp + 0x6c]
test byte [ecx], al
mov ecx, dword [ecx + 0x10]
add ecx, 9
mov dword [eax + 0x10], ecx
jmp 0x492300
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov dword [edx + 0xc], 0
mov dword [esp + 0x30], 9
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], edx
jmp 0x4921d8
mov edx, dword [esp + 0x24]
test edx, edx
ja 0x4921e2
jmp 0x492241
mov edx, dword [esp + 0x24]
mov eax, 0xcccccccd
mul edx
shr edx, 3
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x24]
mov eax, 0xcccccccd
mov ecx, edx
mul ebx
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
sub ebx, edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x30]
lea eax, [edx - 1]
mov dword [esp + 0x30], eax
mov ebp, dword [esp + 0x6c]
test byte [ebp], al
mov ecx, dword [ebp + 4]
mov ebp, dword [ebp]
add ebx, 0x30
cmp ecx, eax
ja 0x492237
jmp 0x492451
lea edx, [edx + ebp - 1]
mov byte [edx], bl
jmp 0x49223f
jmp 0x4921d8
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov edx, dword [edx + 8]
mov eax, dword [esp + 0x30]
jmp 0x492255
cmp eax, ecx
jbe 0x49225e
jmp 0x49244c
mov ebp, dword [esp + 0x6c]
test byte [ebp], al
sub edx, eax
sub ecx, eax
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov ecx, dword [0x5efdd0]
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebx
test ecx, ecx
je 0x492284
jmp 0x492286
jmp 0x492295
call fcn.004757c0
mov dword [edi], eax
mov ecx, dword [ebp]
mov dword [edi + 4], ecx
jmp 0x492295
mov dword [ebp], eax
mov eax, dword [esp + 0x6c]
test byte [eax], al
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff7
neg ecx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x6c]
test byte [eax], al
mov eax, dword [eax + 0xc]
add eax, 8
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
movzx ebp, byte [esp + 0x88]
movzx esi, byte [esp + 0x89]
mov edi, dword [esp + 0x6c]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
xchg ebp, eax
mov byte [esp + 0x10], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x11], al
xchg esi, eax
mov dword [esp + 0x14], eax
call fcn.00492470
jmp 0x492300
jmp 0x492302
jmp 0x492304
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov edx, dword [edx + 0xc]
test edx, edx
setg dl
mov byte [esp + 0x1b], dl
jg 0x49231a
jmp 0x49234a
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x6c]
test byte [ebx], al
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 1]
cmp ecx, eax
ja 0x49233a
jmp 0x492447
lea edx, [ebx + edx - 1]
cmp byte [edx], 0x30
sete dl
mov byte [esp + 0x1b], dl
jmp 0x49234c
jmp 0x49234c
movzx edx, byte [esp + 0x1b]
test dl, dl
jne 0x492357
jmp 0x49236e
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ebx, dword [esp + 0x6c]
test byte [ebx], al
mov ebx, dword [ebx + 0xc]
dec ebx
mov dword [edx + 0xc], ebx
jmp 0x49236c
jmp 0x492304
jmp 0x492370
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov edx, dword [edx + 0xc]
test edx, edx
setg dl
mov byte [esp + 0x1b], dl
jg 0x492386
jmp 0x4923a6
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ecx, dword [edx + 4]
mov edx, dword [edx]
test ecx, ecx
ja 0x49239a
jmp 0x492440
cmp byte [edx], 0x30
sete dl
mov byte [esp + 0x1b], dl
jmp 0x4923a8
jmp 0x4923a8
movzx edx, byte [esp + 0x1b]
test dl, dl
jne 0x4923b3
jmp 0x492432
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ebx, dword [esp + 0x6c]
test byte [ebx], al
mov ebx, dword [ebx + 0xc]
dec ebx
mov dword [edx + 0xc], ebx
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ebx, dword [esp + 0x6c]
test byte [ebx], al
mov ebx, dword [ebx + 0x10]
dec ebx
mov dword [edx + 0x10], ebx
mov edx, dword [esp + 0x6c]
test byte [edx], al
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov edx, dword [edx + 8]
jmp 0x4923e9
cmp ecx, 1
jae 0x4923f0
jmp 0x492436
mov ebp, dword [esp + 0x6c]
test byte [ebp], al
dec edx
lea esi, [ecx - 1]
mov dword [ebp + 4], esi
mov dword [ebp + 8], edx
mov esi, dword [0x5efdd0]
neg edx
sar edx, 0x1f
and edx, 1
add edx, ebx
test esi, esi
je 0x492417
jmp 0x492419
jmp 0x492428
call fcn.004757c0
mov dword [edi], edx
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
jmp 0x492428
mov dword [ebp], edx
jmp 0x49242d
jmp 0x492370
add esp, 0x68
ret
mov eax, 1
call fcn.00475890
xor eax, eax
call fcn.00475830
call fcn.00475830
call fcn.004758a0
call fcn.00475840
nop
call fcn.004743b0
jmp fcn.00491fc0