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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x494a93
sub esp, 0xdc
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 8], ebp
call fcn.0048a780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0xc], ecx
je 0x4938ed
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
mov dword [esp], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00404120
movzx eax, byte [esp + 0xc]
test al, al
je 0x4938db
nop
mov eax, dword [esp + 0xe8]
mov ecx, eax
and eax, 0x1f
cmp eax, 0x10
ja 0x49412c
cmp eax, 6
ja 0x493b49
cmp eax, 1
je 0x493ab8
cmp eax, 2
jb 0x494a24
cmp eax, 3
ja 0x493a76
cmp eax, 2
jne 0x493a62
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
nop
mov edx, dword [esp + 0xf4]
and edx, 0x1f
mov dword [esp + 0x44], edx
cmp edx, 3
ja 0x493a14
cmp edx, 2
jne 0x4939f6
mov edx, dword [esp + 0xf0]
mov edx, dword [edx]
mov ebx, edx
sar edx, 0x1f
cmp edx, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
cmp edx, eax
xchg edi, ebx
setg bl
xchg edi, ebx
and esi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4939e4
cmp ebx, ecx
setb cl
cmp edx, eax
setl al
and ecx, ebp
or eax, ecx
test al, al
je 0x4939d2
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
cmp edx, 3
jne 0x4949ea
mov ebp, dword [esp + 0xf0]
movsx edx, byte [ebp]
mov ebx, edx
sar edx, 0x1f
jmp 0x493989
cmp edx, 4
jne 0x493a2e
mov ebp, dword [esp + 0xf0]
movsx edx, word [ebp]
mov ebx, edx
sar edx, 0x1f
jmp 0x493989
cmp edx, 5
jne 0x493a47
mov ebp, dword [esp + 0xf0]
mov edx, dword [ebp]
mov ebx, edx
sar edx, 0x1f
jmp 0x493989
cmp edx, 6
jne 0x4949ea
mov ebp, dword [esp + 0xf0]
mov ebx, dword [ebp]
mov edx, dword [ebp + 4]
jmp 0x493989
mov edx, dword [esp + 0xe4]
movsx eax, byte [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x49395e
cmp eax, 4
jne 0x493a8f
mov edx, dword [esp + 0xe4]
movsx eax, word [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x49395e
cmp eax, 5
jne 0x493aa7
mov edx, dword [esp + 0xe4]
mov eax, dword [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x49395e
mov edx, dword [esp + 0xe4]
mov ecx, dword [edx]
mov eax, dword [edx + 4]
jmp 0x49395e
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004881e0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x23], al
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.004881e0
movzx eax, byte [esp + 0x23]
cmp byte [esp + 0xc], al
je 0x493b37
test al, al
je 0x493b25
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
cmp eax, 0xc
ja 0x493cdf
cmp eax, 9
ja 0x493ca4
cmp eax, 7
jne 0x493c7d
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
xor ecx, ecx
nop
mov edx, dword [esp + 0xf4]
and edx, 0x1f
mov dword [esp + 0x44], edx
cmp edx, 9
ja 0x493c36
cmp edx, 7
jne 0x493c04
mov edx, dword [esp + 0xf0]
mov edx, dword [edx]
xor ebx, ebx
cmp ecx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, edx
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ecx, ebx
xchg edi, ebx
setb bl
xchg edi, ebx
and esi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x493bf2
cmp eax, edx
seta al
cmp ecx, ebx
seta cl
and eax, ebp
or ecx, eax
test cl, cl
je 0x493be0
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
cmp edx, 8
jne 0x493c1b
mov ebp, dword [esp + 0xf0]
movzx edx, byte [ebp]
xor ebx, ebx
jmp 0x493b97
cmp edx, 9
jne 0x4949b0
mov ebp, dword [esp + 0xf0]
movzx edx, word [ebp]
xor ebx, ebx
jmp 0x493b97
cmp edx, 0xa
jne 0x493c4c
mov ebp, dword [esp + 0xf0]
mov edx, dword [ebp]
xor ebx, ebx
jmp 0x493b97
cmp edx, 0xb
jne 0x493c63
mov ebp, dword [esp + 0xf0]
mov edx, dword [ebp]
mov ebx, dword [ebp + 4]
jmp 0x493b97
cmp edx, 0xc
jne 0x4949b0
mov ebp, dword [esp + 0xf0]
mov edx, dword [ebp]
xor ebx, ebx
jmp 0x493b97
cmp eax, 8
jne 0x493c93
mov edx, dword [esp + 0xe4]
movzx eax, byte [edx]
xor ecx, ecx
jmp 0x493b6f
mov edx, dword [esp + 0xe4]
movzx eax, word [edx]
xor ecx, ecx
jmp 0x493b6f
cmp eax, 0xa
jne 0x493cb9
mov edx, dword [esp + 0xe4]
mov eax, dword [edx]
xor ecx, ecx
jmp 0x493b6f
cmp eax, 0xb
jne 0x493ccf
mov edx, dword [esp + 0xe4]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
jmp 0x493b6f
mov edx, dword [esp + 0xe4]
mov eax, dword [edx]
xor ecx, ecx
jmp 0x493b6f
lea ecx, [eax - 0xd]
cmp ecx, 1
ja 0x493e6b
cmp eax, 0xd
jne 0x493e46
mov eax, dword [esp + 0xe4]
fld dword [eax]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fstp st(1)
fld st(0)
fstp qword [esp + 0x98]
fstp st(0)
nop
mov eax, dword [esp + 0xf4]
and eax, 0x1f
cmp eax, 0xd
jne 0x493e18
mov eax, dword [esp + 0xf0]
fld dword [eax]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x68]
fld qword [esp + 0x68]
fstp st(1)
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
fld qword [esp + 0x98]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x493d72
jnp 0x493d85
mov eax, 0xffffffff
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
fld qword [esp + 0xa0]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x493da7
jnp 0x493dae
mov eax, 1
jmp 0x493d77
fld qword [esp + 0xa0]
fld qword [esp + 0x98]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x493dde
mov eax, 0xffffffff
jmp 0x493d77
fld qword [esp + 0x98]
fld qword [esp + 0xa0]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x493e11
mov eax, 1
jmp 0x493d77
xor eax, eax
jmp 0x493d77
cmp eax, 0xe
jne 0x494972
mov eax, dword [esp + 0xf0]
fld qword [eax]
fld st(0)
fstp qword [esp + 0x68]
fld qword [esp + 0x68]
fstp st(1)
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
jmp 0x493d50
mov eax, dword [esp + 0xe4]
fld qword [eax]
fld st(0)
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fstp st(1)
fld st(0)
fstp qword [esp + 0x98]
fstp st(0)
jmp 0x493d18
cmp eax, 0xf
jb 0x494a24
jne 0x4940ed
mov eax, dword [esp + 0xe4]
fld dword [eax]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x50]
fld dword [eax + 4]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x60]
fld qword [esp + 0x60]
fstp st(2)
fld st(1)
fstp qword [esp + 0x90]
fld qword [esp + 0x50]
fstp st(1)
fld st(0)
fstp qword [esp + 0x88]
fstp st(0)
fstp st(0)
nop
mov eax, dword [esp + 0xf4]
and eax, 0x1f
cmp eax, 0xf
jne 0x4940a8
mov eax, dword [esp + 0xf0]
fld dword [eax]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x48]
fld dword [eax + 4]
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 0x58]
fld qword [esp + 0x48]
fstp st(2)
fld st(1)
fstp qword [esp + 0x78]
fld qword [esp + 0x58]
fstp st(1)
fld st(0)
fstp qword [esp + 0x80]
fstp st(0)
fstp st(0)
fld qword [esp + 0x88]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x493f35
jnp 0x494018
mov eax, 0xffffffff
test eax, eax
jne 0x49400a
fld qword [esp + 0x90]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x493f64
jnp 0x493f77
mov eax, 0xffffffff
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
fld qword [esp + 0x80]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x493f99
jnp 0x493fa0
mov eax, 1
jmp 0x493f69
fld qword [esp + 0x80]
fld qword [esp + 0x90]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x493fd0
mov eax, 0xffffffff
jmp 0x493f69
fld qword [esp + 0x90]
fld qword [esp + 0x80]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x494003
mov eax, 1
jmp 0x493f69
xor eax, eax
jmp 0x493f69
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
fld qword [esp + 0x78]
fld st(0)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
jne 0x494037
jnp 0x494041
mov eax, 1
jmp 0x493f3a
fld qword [esp + 0x78]
fld qword [esp + 0x88]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x494071
mov eax, 0xffffffff
jmp 0x493f3a
fld qword [esp + 0x88]
fld qword [esp + 0x78]
fld st(1)
fucomp st(1)
mov dword [esp + 0xa8], eax
fnstsw ax
sahf
mov eax, dword [esp + 0xa8]
fstp st(0)
fstp st(0)
jbe 0x4940a1
mov eax, 1
jmp 0x493f3a
xor eax, eax
jmp 0x493f3a
cmp eax, 0x10
jne 0x494934
mov eax, dword [esp + 0xf0]
fld qword [eax]
fld st(0)
fstp qword [esp + 0x48]
fld qword [eax + 8]
fld st(0)
fstp qword [esp + 0x58]
fld qword [esp + 0x48]
fstp st(2)
fld st(1)
fstp qword [esp + 0x78]
fld qword [esp + 0x58]
fstp st(1)
fld st(0)
fstp qword [esp + 0x80]
fstp st(0)
fstp st(0)
jmp 0x493f0f
mov eax, dword [esp + 0xe4]
fld qword [eax]
fld st(0)
fstp qword [esp + 0x50]
fld qword [eax + 8]
fld st(0)
fstp qword [esp + 0x60]
fld qword [esp + 0x60]
fstp st(2)
fld st(1)
fstp qword [esp + 0x90]
fld qword [esp + 0x50]
fstp st(1)
fld st(0)
fstp qword [esp + 0x88]
fstp st(0)
fstp st(0)
jmp 0x493ebc
cmp eax, 0x14
ja 0x494676
cmp eax, 0x11
jne 0x49425a
xor eax, eax
jmp 0x494150
mov edx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00489040
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0xc], eax
jle 0x494248
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00488d00
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
call fcn.00488d00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00493850
mov eax, dword [esp + 0x18]
test eax, eax
je 0x494142
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
cmp eax, 0x12
je 0x494582
cmp eax, 0x14
jne 0x494a24
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x14], esi
call fcn.00494aa0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x494574
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.00488aa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49456d
mov edx, dword [eax + 4]
test edx, edx
je 0x494562
nop
movzx ebx, byte [0x7cd2e8]
test bl, bl
je 0x49433e
mov dword [0x7cd2ec], edx
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x494550
mov dword [0x7cd2f0], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x494545
nop
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x494370
or edx, 0x80
mov dword [esp + 0x24], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], eax
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 8], esi
call fcn.00488aa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49453e
mov edx, dword [eax + 4]
test edx, edx
je 0x494533
nop
movzx ebx, byte [0x7cd2e8]
test bl, bl
je 0x494404
mov dword [0x7cd2ec], edx
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x494521
mov dword [0x7cd2f0], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x494516
nop
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x494436
or edx, 0x80
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00493850
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49447a
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.00488aa0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
call fcn.00488aa0
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00493850
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x494436
lea edi, [0x7cd2f0]
mov eax, ecx
call fcn.0045c920
jmp 0x494404
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x494436
mov edx, eax
jmp 0x4943d6
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x494370
lea edi, [0x7cd2f0]
mov eax, ecx
call fcn.0045c920
jmp 0x49433e
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x494370
mov edx, eax
jmp 0x494310
mov dword [esp + 0xf8], ecx
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x14], esi
call fcn.00494aa0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x494668
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.00489ba0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.00489ba0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jb 0x494656
jbe 0x494644
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
mov dword [esp + 0xf8], ecx
add esp, 0xdc
ret
cmp eax, 0x16
je 0x4948a5
cmp eax, 0x18
je 0x4947ad
cmp eax, 0x19
jne 0x494a24
xor eax, eax
jmp 0x4946a3
mov edx, dword [esp + 0x28]
lea eax, [edx + 1]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00489af0
mov eax, dword [esp + 0x28]
cmp dword [esp + 0xc], eax
jle 0x49479b
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00488c00
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc], edi
call fcn.00488c00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00493850
mov eax, dword [esp + 0x18]
test eax, eax
je 0x494695
mov dword [esp + 0xf8], eax
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0048a690
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], edx
call fcn.0048a690
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004030b0
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x494893
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
call fcn.004030b0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x494881
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00489ba0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.00489ba0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x494922
jbe 0x494910
mov dword [esp + 0xf8], 1
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0
add esp, 0xdc
ret
mov dword [esp + 0xf8], 0xffffffff
add esp, 0xdc
ret
mov dword [esp + 0x44], eax
lea eax, [0x653b80]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x15
lea ecx, [0x67f7df]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea ecx, [0x649280]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
mov dword [esp + 0x44], eax
lea eax, [0x653b80]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x67ea21]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea ecx, [0x649280]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
lea eax, [0x653b80]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x67e276]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea ecx, [0x649280]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
lea eax, [0x653b80]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x67dbac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea ecx, [0x649280]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x67f665]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
nop
call fcn.0045b380
jmp fcn.00493850