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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x4a4bb3
sub esp, 0xa8
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4a44ed
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x4a44e9
test eax, 0x200
jne 0x4a33c2
lea edx, [0x7767c4]
mov ebx, dword [esp + 0xac]
jmp 0x4a33fa
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.004aed40
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 0x4a3411
lea ebp, [0x7767c4]
mov esi, dword [esp + 0xb8]
jmp 0x4a3459
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.004aed40
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 0x4a3476
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.004042b0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4a3485
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov eax, dword [0x7287ec]
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, [0x7287ec]
call eax
movzx eax, byte [esp + 0x18]
test al, al
je 0x4a36b1
mov eax, dword [esp + 0xb4]
mov ecx, eax
and eax, 0x1f
add eax, 0xffffffeb
nop
nop
cmp eax, 1
ja 0x4a3530
mov eax, dword [esp + 0xac]
cmp dword [eax], 4
jne 0x4a4b9a
mov edx, dword [eax + 4]
test edx, edx
je 0x4a4b9a
test ecx, 0x80
je 0x4a3525
mov edx, dword [esp + 0xb0]
mov ebx, dword [edx]
jmp 0x4a3540
mov edx, dword [esp + 0xb0]
mov ebx, edx
jmp 0x4a3540
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 0x4a3590
mov ebp, dword [esp + 0xb8]
cmp dword [ebp], 4
jne 0x4a4b82
mov edi, dword [ebp + 4]
test edi, edi
je 0x4a4b82
test esi, 0x80
je 0x4a3585
mov edi, dword [esp + 0xbc]
mov ebp, dword [edi]
jmp 0x4a3599
mov edi, dword [esp + 0xbc]
mov ebp, edi
jmp 0x4a3599
mov edi, dword [esp + 0xbc]
mov ebp, edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebp
cmp ebp, ebx
jae 0x4a35b5
test ecx, 0x200
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
jmp 0x4a35c3
test ecx, 0x200
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
jne 0x4a35d9
mov dword [esp + 0x60], eax
lea eax, [0x7767c4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
jmp 0x4a3607
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.004aed40
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, [0x6c1b60]
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.0040d340
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
jne 0x4a44da
lea eax, [0x6c1b60]
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.0040d890
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 0x4a3a9a
cmp eax, 0xc
jbe 0x4a37fb
cmp eax, 0xe
jbe 0x4a378b
lea edx, [eax - 0xf]
cmp edx, 1
jbe 0x4a36f1
cmp eax, 0x11
jne 0x4a4438
xor eax, eax
jmp 0x4a4a6e
cmp eax, 0xf
jne 0x4a3710
mov eax, dword [esp + 0xb0]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
jmp 0x4a3720
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 0x4a374a
mov eax, dword [esp + 0xbc]
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
cvtss2sd xmm2, xmm2
cvtss2sd xmm3, xmm3
jmp 0x4a3763
cmp eax, 0x10
jne 0x4a4a22
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 0x4a37a1
mov eax, dword [esp + 0xb0]
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
jmp 0x4a37ac
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0xc0]
and eax, 0x1f
nop
cmp eax, 0xd
jne 0x4a37cd
mov eax, dword [esp + 0xbc]
movss xmm1, dword [eax]
cvtss2sd xmm1, xmm1
jmp 0x4a37e1
cmp eax, 0xe
jne 0x4a49e4
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 0x4a385c
mov eax, dword [esp + 0xc0]
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xb0]
movzx edx, byte [edx]
cmp eax, 1
je 0x4a3842
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.004a96d0
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 0x4a3985
cmp eax, 3
ja 0x4a3899
cmp eax, 2
jne 0x4a3882
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a38e2
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 0x4a38e2
cmp eax, 4
jne 0x4a38b5
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 0x4a38e2
cmp eax, 5
jne 0x4a38d0
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 0x4a38e2
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 0x4a392b
cmp edx, 2
jne 0x4a3911
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 0x4a396b
cmp edx, 3
jne 0x4a49aa
mov ebx, dword [esp + 0xbc]
movsx edx, byte [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x4a396b
cmp edx, 4
jne 0x4a3941
mov ebx, dword [esp + 0xbc]
movsx edx, word [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x4a396b
cmp edx, 5
jne 0x4a3956
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
mov ebx, edx
sar ebx, 0x1f
jmp 0x4a396b
cmp edx, 6
jne 0x4a49aa
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 0x4a4438
cmp eax, 9
ja 0x4a39c6
cmp eax, 7
jne 0x4a39a5
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
xor ecx, ecx
jmp 0x4a39f6
cmp eax, 8
jne 0x4a39b8
mov ecx, dword [esp + 0xb0]
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x4a39f6
mov ecx, dword [esp + 0xb0]
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x4a39f6
cmp eax, 0xa
jne 0x4a39d8
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x4a39f6
cmp eax, 0xb
jne 0x4a39eb
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x4a39f6
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 0x4a3a46
cmp edx, 7
jne 0x4a3a1c
mov edx, dword [esp + 0xbc]
mov edx, dword [edx]
xor ebx, ebx
jmp 0x4a3a80
cmp edx, 8
jne 0x4a3a2f
mov ebx, dword [esp + 0xbc]
movzx edx, byte [ebx]
xor ebx, ebx
jmp 0x4a3a80
cmp edx, 9
jne 0x4a4970
mov ebx, dword [esp + 0xbc]
movzx edx, word [ebx]
xor ebx, ebx
jmp 0x4a3a80
cmp edx, 0xa
jne 0x4a3a58
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
xor ebx, ebx
jmp 0x4a3a80
cmp edx, 0xb
jne 0x4a3a6b
mov ebx, dword [esp + 0xbc]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x4a3a80
cmp edx, 0xc
jne 0x4a4970
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 0x4a3f55
cmp eax, 0x17
jbe 0x4a3b73
cmp eax, 0x18
je 0x4a3ae7
cmp eax, 0x19
jne 0x4a4438
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.004ad930
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
xor ecx, ecx
jmp 0x4a4880
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 0x4a3b12
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4a3b48
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.004aec60
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x28]
cmp eax, ebx
je 0x4a3b50
xor eax, eax
jmp 0x4a3b65
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00403500
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
cmp eax, 0x16
je 0x4a3e43
mov eax, dword [esp + 0xc0]
mov edx, eax
and eax, 0x1f
mov dword [esp + 0x5c], eax
nop
cmp eax, 0x14
ja 0x4a3bac
lea ebx, [eax - 0x12]
cmp ebx, 1
ja 0x4a3ba2
test edx, 0x200
jmp 0x4a3be4
cmp eax, 0x14
je 0x4a3bbe
jmp 0x4a483b
cmp eax, 0x16
ja 0x4a3bb9
test edx, 0x200
jmp 0x4a3be4
cmp eax, 0x17
jne 0x4a3bd5
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
jmp 0x4a3c19
cmp eax, 0x1a
jne 0x4a483b
test edx, 0x200
je 0x4a3bf1
mov ebx, dword [esp + 0xbc]
xor ebp, ebp
jmp 0x4a3c19
test edx, 0x80
je 0x4a3c04
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
jmp 0x4a3c0d
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 0x4a3e34
mov ebp, dword [esi + 4]
cmp eax, 0x17
jne 0x4a3c49
mov eax, dword [ebx + 4]
jmp 0x4a3c88
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.004ace20
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 0x4a3e25
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.004aee90
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.004aee90
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
je 0x4a3e16
mov eax, dword [esp + 0xb4]
test eax, 0x200
jne 0x4a3d05
lea ecx, [0x7767c4]
mov edx, dword [esp + 0xac]
jmp 0x4a3d2f
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.004aed40
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 0x4a3d55
xor eax, eax
jmp 0x4a474a
mov eax, dword [esp + 0xac]
cmp dword [0x967224], eax
jne 0x4a3d72
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4a3d98
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.004a9770
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
cmp dword [0x967224], edx
jne 0x4a3db5
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x4a3deb
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.004a9770
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
cmp eax, edx
je 0x4a3df3
xor eax, eax
jmp 0x4a3e08
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00403500
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.004aee90
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.004aee90
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
jne 0x4a3ead
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.004ac110
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.004ac110
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.004a3370
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0xc8], al
add esp, 0xa8
ret
cmp eax, 0x13
jne 0x4a4030
test ecx, 0x200
jne 0x4a4012
test ecx, 0x80
je 0x4a3f7d
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
jmp 0x4a3f84
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x4a4012
mov eax, dword [esp + 0xc0]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x5c], eax
nop
cmp eax, 0x14
ja 0x4a3fbc
lea edx, [eax - 0x12]
cmp edx, 1
ja 0x4a3fb2
test ecx, 0x200
jmp 0x4a3fed
cmp eax, 0x14
je 0x4a3fce
jmp 0x4a4709
cmp eax, 0x16
ja 0x4a3fc9
test ecx, 0x200
jmp 0x4a3fed
cmp eax, 0x17
jne 0x4a3fde
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
test eax, eax
setne al
jmp 0x4a400e
cmp eax, 0x1a
jne 0x4a4709
test ecx, 0x200
jne 0x4a4012
test ecx, 0x80
je 0x4a4002
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
jmp 0x4a4009
mov eax, dword [esp + 0xbc]
test eax, eax
setne al
test al, al
je 0x4a4021
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
cmp eax, 0x14
jne 0x4a421a
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
test edx, edx
je 0x4a417a
mov ebx, dword [esp + 0xc0]
mov ebp, ebx
and ebx, 0x1f
mov dword [esp + 0x5c], ebx
nop
cmp ebx, 0x14
ja 0x4a407a
lea esi, [ebx - 0x12]
cmp esi, 1
ja 0x4a4070
test ebp, 0x200
jmp 0x4a40af
cmp ebx, 0x14
je 0x4a408c
jmp 0x4a46cf
cmp ebx, 0x16
ja 0x4a4087
test ebp, 0x200
jmp 0x4a40af
cmp ebx, 0x17
jne 0x4a40a0
mov ebx, dword [esp + 0xbc]
mov esi, dword [ebx]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
jmp 0x4a40d6
cmp ebx, 0x1a
jne 0x4a46cf
test ebp, 0x200
jne 0x4a40e0
test ebp, 0x80
je 0x4a40c4
mov ebx, dword [esp + 0xbc]
mov esi, dword [ebx]
jmp 0x4a40cd
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 0x4a4188
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ac110
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.004ac110
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.004a3370
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 0x4a41b2
lea ecx, [ebp - 0x12]
cmp ecx, 1
ja 0x4a41a8
test eax, 0x200
jmp 0x4a41df
cmp ebp, 0x14
je 0x4a41c3
jmp 0x4a4695
cmp ebp, 0x16
ja 0x4a41be
test eax, 0x200
jmp 0x4a41df
cmp ebp, 0x17
jne 0x4a41d1
mov eax, dword [ebx]
test eax, eax
setne al
xor eax, 1
test edx, edx
jmp 0x4a4201
cmp ebp, 0x1a
jne 0x4a4695
test eax, 0x200
je 0x4a41ea
test edx, edx
mov eax, 0
jmp 0x4a4201
test eax, 0x80
je 0x4a41f5
mov eax, dword [ebx]
jmp 0x4a41f7
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 0x4a4438
test ecx, 0x200
je 0x4a4236
mov eax, dword [esp + 0xb0]
xor edx, edx
jmp 0x4a425a
test ecx, 0x80
je 0x4a4249
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
jmp 0x4a4252
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 0x4a428a
lea esi, [ebx - 0x12]
cmp esi, 1
ja 0x4a4280
test ebp, 0x200
jmp 0x4a42c2
cmp ebx, 0x14
je 0x4a429c
jmp 0x4a465b
cmp ebx, 0x16
ja 0x4a4297
test ebp, 0x200
jmp 0x4a42c2
cmp ebx, 0x17
jne 0x4a42b3
mov esi, dword [esp + 0xbc]
mov edi, dword [esi]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xor edi, 1
jmp 0x4a42f7
cmp ebx, 0x1a
jne 0x4a465b
test ebp, 0x200
je 0x4a42cf
mov esi, dword [esp + 0xbc]
xor edi, edi
jmp 0x4a42f7
test ebp, 0x80
je 0x4a42e2
mov esi, dword [esp + 0xbc]
mov edi, dword [esi]
jmp 0x4a42eb
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 0x4a4429
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ace20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x17
jne 0x4a4331
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
jmp 0x4a4369
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.004ace20
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xbc]
cmp edx, eax
jne 0x4a441a
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.004aee90
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.004aee90
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xc], eax
je 0x4a440b
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.004ad2a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
xor edx, edx
jmp 0x4a4524
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.004ac940
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.004ac940
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x10], eax
je 0x4a44ac
xor eax, eax
jmp 0x4a44cc
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.004041d0
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 0x4a44f4
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 0x4a464c
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.004ad040
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.004ad040
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a463d
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4a463d
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.004a3370
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4a450f
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x711b07]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x711b07]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x711b07]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x711b07]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0xb0]
cmp dword [ecx + 4], eax
jle 0x4a482c
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.004ac790
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.004ac790
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.004a3370
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4a4743
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x711b07]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
mov edx, dword [esp + 0x44]
lea ecx, [edx + 1]
mov eax, dword [esp + 0x40]
cmp ecx, eax
jge 0x4a4961
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.004ac2c0
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.004ac2c0
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.004a3370
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4a4875
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x710cf2]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x710421]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
mov dword [esp + 0x5c], eax
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x71165a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
mov dword [esp + 0x5c], eax
lea eax, [0x6d5460]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x15
lea ecx, [0x712b00]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
lea ecx, [0x6c72a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385d0
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.004ace20
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0xc], eax
jle 0x4a4b73
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.004ac790
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.004ac790
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.004a3370
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x4a4a60
mov byte [esp + 0xc8], 0
add esp, 0xa8
ret
mov byte [esp + 0xc8], 1
add esp, 0xa8
ret
lea eax, [0x6bd160]
mov dword [esp], eax
lea eax, [0x7736d0]
mov dword [esp + 4], eax
call fcn.004385d0
lea eax, [0x6bd160]
mov dword [esp], eax
lea eax, [0x7736d0]
mov dword [esp + 4], eax
call fcn.004385d0
nop
call fcn.00467590
jmp fcn.004a3370