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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x492753
sub esp, 0xa8
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x49208d
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x492089
test eax, 0x200
jne 0x490f62
lea edx, [0x66ad64]
mov ebx, dword [esp + 0xac]
jmp 0x490f9a
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xc0]
test ecx, 0x200
jne 0x490fb1
lea ebp, [0x66ad64]
mov esi, dword [esp + 0xb8]
jmp 0x490ff9
mov dword [esp + 0x70], ebx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x70]
mov ebp, eax
mov esi, ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xc0]
cmp edx, ebp
jne 0x491016
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.00404250
movzx eax, byte [esp + 0xc]
test al, al
jne 0x491025
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov eax, dword [0x63057c]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xb4]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x14], esi
lea edx, [0x63057c]
call eax
movzx eax, byte [esp + 0x18]
test al, al
je 0x491251
mov eax, dword [esp + 0xb4]
mov ecx, eax
and eax, 0x1f
add eax, 0xffffffeb
nop
nop
cmp eax, 1
ja 0x4910d0
mov eax, dword [esp + 0xac]
cmp dword [eax], 4
jne 0x49273a
mov edx, dword [eax + 4]
test edx, edx
je 0x49273a
test ecx, 0x80
je 0x4910c5
mov edx, dword [esp + 0xb0]
mov ebx, dword [edx]
jmp 0x4910e0
mov edx, dword [esp + 0xb0]
mov ebx, edx
jmp 0x4910e0
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov ebx, edx
mov ebp, dword [esp + 0xc0]
mov esi, ebp
and ebp, 0x1f
add ebp, 0xffffffeb
nop
nop
cmp ebp, 1
ja 0x491130
mov ebp, dword [esp + 0xb8]
cmp dword [ebp], 4
jne 0x492722
mov edi, dword [ebp + 4]
test edi, edi
je 0x492722
test esi, 0x80
je 0x491125
mov edi, dword [esp + 0xbc]
mov ebp, dword [edi]
jmp 0x491139
mov edi, dword [esp + 0xbc]
mov ebp, edi
jmp 0x491139
mov edi, dword [esp + 0xbc]
mov ebp, edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebp
cmp ebp, ebx
jae 0x491155
test ecx, 0x200
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
jmp 0x491163
test ecx, 0x200
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
jne 0x491179
mov dword [esp + 0x60], eax
lea eax, [0x66ad64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
jmp 0x4911a7
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov eax, ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5f1d80]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
lea edx, [esp + 0x98]
mov dword [esp + 8], edx
call fcn.0040d2e0
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
jne 0x49207a
lea eax, [0x5f1d80]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea ecx, [esp + 0x98]
mov dword [esp + 8], ecx
call fcn.0040d830
mov eax, dword [esp + 0xc]
mov byte [eax], 1
mov eax, dword [esp + 0xb4]
mov ecx, eax
and eax, 0x1f
nop
cmp eax, 0x11
ja 0x49163a
cmp eax, 0xc
jbe 0x49139b
cmp eax, 0xe
jbe 0x49132b
lea edx, [eax - 0xf]
cmp edx, 1
jbe 0x491291
cmp eax, 0x11
jne 0x491fd8
xor eax, eax
jmp 0x49260e
cmp eax, 0xf
jne 0x4912b0
mov eax, dword [esp + 0xb0]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
jmp 0x4912c0
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esp + 0xc0]
and eax, 0x1f
nop
cmp eax, 0xf
jne 0x4912ea
mov eax, dword [esp + 0xbc]
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
cvtss2sd xmm2, xmm2
cvtss2sd xmm3, xmm3
jmp 0x491303
cmp eax, 0x10
jne 0x4925c2
mov eax, dword [esp + 0xbc]
movsd xmm2, qword [eax]
movsd xmm3, qword [eax + 8]
ucomisd xmm0, xmm2
sete cl
setnp al
and ecx, eax
ucomisd xmm1, xmm3
sete dl
setnp al
and edx, eax
and ecx, edx
mov byte [esp + 0xc8], cl
add esp, 0xa8
ret
cmp eax, 0xd
jne 0x491341
mov eax, dword [esp + 0xb0]
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
jmp 0x49134c
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0xc0]
and eax, 0x1f
nop
cmp eax, 0xd
jne 0x49136d
mov eax, dword [esp + 0xbc]
movss xmm1, dword [eax]
cvtss2sd xmm1, xmm1
jmp 0x491381
cmp eax, 0xe
jne 0x492584
mov eax, dword [esp + 0xbc]
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
sete cl
setnp al
and ecx, eax
mov byte [esp + 0xc8], cl
add esp, 0xa8
ret
cmp eax, 1
jne 0x4913fc
mov eax, dword [esp + 0xc0]
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xb0]
movzx edx, byte [edx]
cmp eax, 1
je 0x4913e2
mov byte [esp + 0x27], dl
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00496c20
movzx edx, byte [esp + 0x27]
mov eax, dword [esp + 0xbc]
cmp byte [eax], dl
sete al
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
lea edx, [eax - 2]
cmp edx, 4
ja 0x491525
cmp eax, 3
ja 0x491439
cmp eax, 2
jne 0x491422
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x491482
mov ecx, dword [esp + 0xb0]
movsx eax, byte [ecx]
mov ecx, eax
sar ecx, 0x1f
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x491482
cmp eax, 4
jne 0x491455
mov ecx, dword [esp + 0xb0]
movsx eax, word [ecx]
mov ecx, eax
sar ecx, 0x1f
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x491482
cmp eax, 5
jne 0x491470
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
mov ecx, eax
sar ecx, 0x1f
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x491482
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0xc0]
and edx, 0x1f
mov dword [esp + 0x5c], edx
nop
cmp edx, 3
ja 0x4914cb
cmp edx, 2
jne 0x4914b1
mov edx, dword [esp + 0xbc]
mov edx, dword [edx]
mov ebx, edx
sar edx, 0x1f
mov ebp, ebx
mov ebx, edx
mov edx, ebp
jmp 0x49150b
cmp edx, 3
jne 0x49254a
mov ebx, dword [esp + 0xbc]
movsx edx, byte [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x49150b
cmp edx, 4
jne 0x4914e1
mov ebx, dword [esp + 0xbc]
movsx edx, word [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x49150b
cmp edx, 5
jne 0x4914f6
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x49150b
cmp edx, 6
jne 0x49254a
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ecx, edx
sete cl
cmp eax, ebx
sete al
and ecx, eax
mov byte [esp + 0xc8], cl
add esp, 0xa8
ret
cmp eax, 7
jb 0x491fd8
cmp eax, 9
ja 0x491566
cmp eax, 7
jne 0x491545
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
xor ecx, ecx
jmp 0x491596
cmp eax, 8
jne 0x491558
mov ecx, dword [esp + 0xb0]
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x491596
mov ecx, dword [esp + 0xb0]
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x491596
cmp eax, 0xa
jne 0x491578
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x491596
cmp eax, 0xb
jne 0x49158b
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x491596
mov edx, dword [esp + 0xb0]
mov eax, dword [edx]
xor ecx, ecx
mov edx, dword [esp + 0xc0]
and edx, 0x1f
mov dword [esp + 0x5c], edx
nop
cmp edx, 9
ja 0x4915e6
cmp edx, 7
jne 0x4915bc
mov edx, dword [esp + 0xbc]
mov edx, dword [edx]
xor ebx, ebx
jmp 0x491620
cmp edx, 8
jne 0x4915cf
mov ebx, dword [esp + 0xbc]
movzx edx, byte [ebx]
xor ebx, ebx
jmp 0x491620
cmp edx, 9
jne 0x492510
mov ebx, dword [esp + 0xbc]
movzx edx, word [ebx]
xor ebx, ebx
jmp 0x491620
cmp edx, 0xa
jne 0x4915f8
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
xor ebx, ebx
jmp 0x491620
cmp edx, 0xb
jne 0x49160b
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x491620
cmp edx, 0xc
jne 0x492510
mov ebp, dword [esp + 0xbc]
mov edx, dword [ebp]
xor ebx, ebx
cmp eax, edx
sete al
cmp ecx, ebx
sete cl
and ecx, eax
mov byte [esp + 0xc8], cl
add esp, 0xa8
ret
cmp eax, 0x15
jbe 0x491af5
cmp eax, 0x17
jbe 0x491713
cmp eax, 0x18
je 0x491687
cmp eax, 0x19
jne 0x491fd8
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004990b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
xor ecx, ecx
jmp 0x492420
mov eax, dword [esp + 0xc0]
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xb0]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, 0x18
jne 0x4916b2
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4916e8
mov dword [esp + 0x68], edx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00499c50
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x28]
cmp eax, ebx
je 0x4916f0
xor eax, eax
jmp 0x491705
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004034a0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
cmp eax, 0x16
je 0x4919e3
mov eax, dword [esp + 0xc0]
mov edx, eax
and eax, 0x1f
mov dword [esp + 0x5c], eax
nop
cmp eax, 0x14
ja 0x49174c
lea ebx, [eax - 0x12]
cmp ebx, 1
ja 0x491742
test edx, 0x200
jmp 0x491784
cmp eax, 0x14
je 0x49175e
jmp 0x4923db
cmp eax, 0x16
ja 0x491759
test edx, 0x200
jmp 0x491784
cmp eax, 0x17
jne 0x491775
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
jmp 0x4917b9
cmp eax, 0x1a
jne 0x4923db
test edx, 0x200
je 0x491791
mov ebx, dword [esp + 0xbc]
xor ebp, ebp
jmp 0x4917b9
test edx, 0x80
je 0x4917a4
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
jmp 0x4917ad
mov ebx, dword [esp + 0xbc]
mov ebp, ebx
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
mov esi, dword [esp + 0xb0]
mov edi, dword [esi]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
xchg ebp, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg ebp, eax
jne 0x4919d4
mov ebp, dword [esi + 4]
cmp eax, 0x17
jne 0x4917e9
mov eax, dword [ebx + 4]
jmp 0x491828
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004985a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xb0]
cmp eax, ebp
jne 0x4919c5
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.00499e80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 8], ebx
call fcn.00499e80
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
je 0x4919b6
mov eax, dword [esp + 0xb4]
test eax, 0x200
jne 0x4918a5
lea ecx, [0x66ad64]
mov edx, dword [esp + 0xac]
jmp 0x4918cf
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x28]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
je 0x4918f5
xor eax, eax
jmp 0x4922ea
mov eax, dword [esp + 0xac]
cmp dword [0x7cc508], eax
jne 0x491912
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x491938
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.00496cc0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
cmp dword [0x7cc508], edx
jne 0x491955
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x49198b
mov dword [esp + 0x2c], eax
mov dword [esp + 0x6c], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
call fcn.00496cc0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
cmp eax, edx
je 0x491993
xor eax, eax
jmp 0x4919a8
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004034a0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499e80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 8], ebx
call fcn.00499e80
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
jne 0x491a4d
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.00497b80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 8], ebx
call fcn.00497b80
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
cmp eax, 0x13
jne 0x491bd0
test ecx, 0x200
jne 0x491bb2
test ecx, 0x80
je 0x491b1d
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
jmp 0x491b24
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x491bb2
mov eax, dword [esp + 0xc0]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x5c], eax
nop
cmp eax, 0x14
ja 0x491b5c
lea edx, [eax - 0x12]
cmp edx, 1
ja 0x491b52
test ecx, 0x200
jmp 0x491b8d
cmp eax, 0x14
je 0x491b6e
jmp 0x4922a9
cmp eax, 0x16
ja 0x491b69
test ecx, 0x200
jmp 0x491b8d
cmp eax, 0x17
jne 0x491b7e
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
test eax, eax
setne al
jmp 0x491bae
cmp eax, 0x1a
jne 0x4922a9
test ecx, 0x200
jne 0x491bb2
test ecx, 0x80
je 0x491ba2
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
jmp 0x491ba9
mov eax, dword [esp + 0xbc]
test eax, eax
setne al
test al, al
je 0x491bc1
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
cmp eax, 0x14
jne 0x491dba
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
test edx, edx
je 0x491d1a
mov ebx, dword [esp + 0xc0]
mov ebp, ebx
and ebx, 0x1f
mov dword [esp + 0x5c], ebx
nop
cmp ebx, 0x14
ja 0x491c1a
lea esi, [ebx - 0x12]
cmp esi, 1
ja 0x491c10
test ebp, 0x200
jmp 0x491c4f
cmp ebx, 0x14
je 0x491c2c
jmp 0x49226f
cmp ebx, 0x16
ja 0x491c27
test ebp, 0x200
jmp 0x491c4f
cmp ebx, 0x17
jne 0x491c40
mov ebx, dword [esp + 0xbc]
mov esi, dword [ebx]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
jmp 0x491c76
cmp ebx, 0x1a
jne 0x49226f
test ebp, 0x200
jne 0x491c80
test ebp, 0x80
je 0x491c64
mov ebx, dword [esp + 0xbc]
mov esi, dword [ebx]
jmp 0x491c6d
mov ebx, dword [esp + 0xbc]
mov esi, ebx
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x491d28
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00497b80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 8], ebx
call fcn.00497b80
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
test byte [eax], al
mov eax, ebp
and ebp, 0x1f
mov dword [esp + 0x5c], ebp
nop
cmp ebp, 0x14
ja 0x491d52
lea ecx, [ebp - 0x12]
cmp ecx, 1
ja 0x491d48
test eax, 0x200
jmp 0x491d7f
cmp ebp, 0x14
je 0x491d63
jmp 0x492235
cmp ebp, 0x16
ja 0x491d5e
test eax, 0x200
jmp 0x491d7f
cmp ebp, 0x17
jne 0x491d71
mov eax, dword [ebx]
test eax, eax
setne al
xor eax, 1
test edx, edx
jmp 0x491da1
cmp ebp, 0x1a
jne 0x492235
test eax, 0x200
je 0x491d8a
test edx, edx
mov eax, 0
jmp 0x491da1
test eax, 0x80
je 0x491d95
mov eax, dword [ebx]
jmp 0x491d97
mov eax, ebx
test eax, eax
setne al
xor eax, 1
test edx, edx
setne cl
xor ecx, 1
cmp al, cl
sete al
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
cmp eax, 0x15
jne 0x491fd8
test ecx, 0x200
je 0x491dd6
mov eax, dword [esp + 0xb0]
xor edx, edx
jmp 0x491dfa
test ecx, 0x80
je 0x491de9
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
jmp 0x491df2
mov eax, dword [esp + 0xb0]
mov edx, eax
test edx, edx
setne dl
xor edx, 1
mov ebx, dword [esp + 0xc0]
mov ebp, ebx
and ebx, 0x1f
mov dword [esp + 0x5c], ebx
nop
cmp ebx, 0x14
ja 0x491e2a
lea esi, [ebx - 0x12]
cmp esi, 1
ja 0x491e20
test ebp, 0x200
jmp 0x491e62
cmp ebx, 0x14
je 0x491e3c
jmp 0x4921fb
cmp ebx, 0x16
ja 0x491e37
test ebp, 0x200
jmp 0x491e62
cmp ebx, 0x17
jne 0x491e53
mov esi, dword [esp + 0xbc]
mov edi, dword [esi]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
jmp 0x491e97
cmp ebx, 0x1a
jne 0x4921fb
test ebp, 0x200
je 0x491e6f
mov esi, dword [esp + 0xbc]
xor edi, edi
jmp 0x491e97
test ebp, 0x80
je 0x491e82
mov esi, dword [esp + 0xbc]
mov edi, dword [esi]
jmp 0x491e8b
mov esi, dword [esp + 0xbc]
mov edi, esi
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
xchg edi, eax
cmp al, dl
xchg edi, eax
jne 0x491fc9
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004985a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x17
jne 0x491ed1
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
jmp 0x491f09
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.004985a0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xbc]
cmp edx, eax
jne 0x491fba
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edx
call fcn.00499e80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 8], ebx
call fcn.00499e80
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
je 0x491fab
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edx
call fcn.00498a20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
xor edx, edx
jmp 0x4920c4
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.004983b0
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x10], eax
je 0x49204c
xor eax, eax
jmp 0x49206c
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00404170
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
test eax, eax
jmp 0x492094
mov ecx, dword [esp + 0xc0]
setne al
test ecx, ecx
setne cl
cmp cl, al
sete al
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
mov ebx, dword [esp + 0x94]
lea eax, [ebx + 0xc]
mov ebx, dword [esp + 0x54]
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x58]
cmp edx, ecx
jge 0x4921ec
mov dword [esp + 0x54], edx
mov dword [esp + 0x94], eax
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x88], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0xac]
mov dword [esp], ebp
mov esi, dword [esp + 0xb0]
mov dword [esp + 4], esi
mov edi, dword [esp + 0xb4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.004987c0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x14], edi
call fcn.004987c0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4921dd
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4921dd
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4920af
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6214b4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6214b4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6214b4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6214b4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0xb0]
cmp dword [ecx + 4], eax
jle 0x4923cc
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00498200
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x48]
mov dword [esp + 0xc], edi
call fcn.00498200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4922e3
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6214b4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov edx, dword [esp + 0x44]
lea ecx, [edx + 1]
mov eax, dword [esp + 0x40]
cmp ecx, eax
jge 0x492501
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00497d30
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xc], edi
call fcn.00497d30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x492415
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x620706]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x61ffb5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov dword [esp + 0x5c], eax
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x620e3f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov dword [esp + 0x5c], eax
lea eax, [0x5fd2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x15
lea ecx, [0x622005]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x5f5020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437cb0
mov edx, dword [esp + 0x4c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004985a0
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0xc], eax
jle 0x492713
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00498200
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xc], edi
call fcn.00498200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
call fcn.00490f10
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x492600
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x5eea60]
mov dword [esp], eax
lea eax, [0x6698d0]
mov dword [esp + 4], eax
call fcn.00437cb0
lea eax, [0x5eea60]
mov dword [esp], eax
lea eax, [0x6698d0]
mov dword [esp + 4], eax
call fcn.00437cb0
nop
call fcn.00465ea0
jmp fcn.00490f10