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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x268]
cmp eax, dword [ecx + 8]
jbe 0x53cd06
sub esp, 0x2e8
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
call fcn.0047aa80
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x304]
mov ebx, dword [esp + 0x2fc]
cmp edx, ebx
jne 0x539c6c
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
lea esi, [esp + 0x308]
call fcn.0044f6a4
call fcn.0053cd10
movzx eax, byte [esp + 0x24]
test al, al
je 0x539c1b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x304]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x819dd4]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x12
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
jmp 0x539bf8
mov dword [esp + 0x13c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xdc], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x14
je 0x53ccc9
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], ecx
test al, al
je 0x53a607
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x300]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x304]
mov dword [esp + 0xc], ebx
call fcn.00539060
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
mov byte [esp + 0xd8], cl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xd4]
test esi, esi
jne 0x53a5eb
mov dword [esp + 0xc0], edx
mov dword [esp + 0xa4], edi
nop
lea edx, [edi + eax]
cmp edx, eax
jge 0x53a5c9
mov dword [esp + 0xc4], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x134], ebp
movzx ebp, byte [esp + 0x41]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x53a556
mov dword [esp + 0xbc], edx
test cl, cl
je 0x539ea2
mov eax, dword [esp + 0x134]
xor ecx, ecx
xor ebx, ebx
test esi, esi
jne 0x539e86
mov dword [esp + 0x134], eax
mov dword [esp + 0xb8], esi
test ebx, ebx
je 0x539e37
nop
nop
movzx ebp, byte [0xb7dd58]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x539dd4
mov dword [0xb7dd5c], ebx
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x539e70
mov dword [0xb7dd60], ecx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ecx
nop
mov ebx, dword [esp + 0x148]
test ebx, ebx
je 0x539e68
nop
nop
movzx ebp, byte [ebx + 0xf]
mov edi, ebp
and ebp, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x539e06
or ebp, 0x80
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
call fcn.00479a20
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor ebp, ebp
xor ecx, ecx
xor ebx, ebx
jmp 0x539e06
lea edi, [0xb7dd60]
mov ebp, eax
mov eax, ecx
call fcn.0044f0d0
mov eax, ebp
jmp 0x539dd4
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
test ebx, ebx
jne 0x539d82
test edx, edx
jl 0x53ccff
cmp eax, edx
ja 0x53ccff
mov ebx, dword [esp + 0x300]
cmp edx, ebx
ja 0x53ccff
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x2f8]
mov ecx, edx
lea edx, [ebp + ebx]
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0xc0]
cmp edx, 0xc
jg 0x53a2d6
mov dword [esp + 0xc0], eax
cmp edx, 3
jg 0x53a142
cmp edx, 2
je 0x53a0e4
cmp edx, 3
jne 0x53a0d2
nop
test edi, edi
je 0x53a076
movzx edx, byte [ebp + ebx]
movzx ebx, dl
cmp ebx, 7
jle 0x539ff8
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x824351]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x22
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x108], eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], ebp
lea edx, [0x7e6480]
mov dword [esp], edx
lea edx, [esp + 0x198]
mov dword [esp + 4], edx
call fcn.004077f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0xa0]
mov esi, ebx
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0xbc]
jmp 0x539d8d
cmp edi, 1
jne 0x53a072
test ebx, ebx
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x539f36
cmp dl, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x110]
movzx esi, byte [edi + esi - 1]
mov ecx, edx
mov eax, 1
shl eax, cl
and eax, ebp
dec eax
xchg esi, ebx
test al, bl
xchg esi, ebx
jne 0x539f36
lea ebp, [edi - 1]
mov edx, ebp
shl ebp, 3
sub ebp, ebx
mov edi, dword [esp + 0xc0]
lea esi, [edi - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
mov eax, edi
mov edi, dword [esp + 0x110]
lea ebx, [edi + esi]
xor ecx, ecx
mov esi, eax
xor eax, eax
jmp 0x539f8d
xor ebp, ebp
jmp 0x53a006
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x81c8c7]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x16
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x539f8d
mov edx, dword [esp + 0x134]
mov ebx, esi
xor ecx, ecx
xor eax, eax
jmp 0x539fe6
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00537850
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00407920
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7ab3c0]
jmp 0x539fe6
cmp edx, 4
je 0x53a29b
cmp edx, 6
je 0x53a235
cmp edx, 0xc
jne 0x53a0d2
nop
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00456180
movzx eax, byte [esp + 0xc]
test al, al
je 0x53a1ee
mov dword [esp], 0
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x9c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407990
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x9c]
lea eax, [0x7abe80]
jmp 0x539fe6
nop
lea eax, [0x7c34e0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0xb91180]
test eax, eax
jne 0x53a228
lea eax, [0x81ed2b]
mov dword [edi], eax
mov edx, edi
xor ecx, ecx
xor eax, eax
lea ebx, [0x8b3870]
jmp 0x53a1b7
lea eax, [0x81ed2b]
call fcn.0044f0d0
jmp 0x53a21a
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.005382a0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00407a10
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7cac00]
jmp 0x539fe6
mov dword [esp + 0xb8], esi
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00407a10
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7924c0]
jmp 0x539fe6
cmp edx, 0x14
jg 0x53a3f9
cmp edx, 0x12
je 0x53a39b
cmp edx, 0x13
je 0x53a33d
cmp edx, 0x14
jne 0x53a0d2
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407990
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
lea eax, [0x7abe80]
jmp 0x539fe6
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00538da0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00407990
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7abe80]
jmp 0x539fe6
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00538cb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x134], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407990
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7abe80]
jmp 0x539fe6
cmp edx, 0x16
je 0x53a4f8
cmp edx, 0x17
je 0x53a484
cmp edx, 0x18
jne 0x53a0d2
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00538a50
lea edi, [esp + 0x1bc]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x8101a0]
mov dword [esp], edx
lea edx, [esp + 0x1bc]
mov dword [esp + 4], edx
call fcn.004077f0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
jmp 0x539fe6
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.005386d0
lea edi, [esp + 0x1d0]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x8101a0]
mov dword [esp], edx
lea edx, [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.004077f0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
jmp 0x539fe6
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00538f80
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00407990
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x7abe80]
jmp 0x539fe6
mov dword [esp + 0x58], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x817d03]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xe
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov edi, dword [esp + 0x2fc]
cmp edx, edi
xchg edi, ebx
setg bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x41], al
xchg edi, eax
mov edi, dword [esp + 0xa4]
jmp 0x539d5d
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], ebp
add esp, 0x2e8
ret
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x300]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x304]
mov dword [esp + 0xc], ebx
call fcn.00539060
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x1c]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xd0]
test ebp, ebp
jne 0x53ccad
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x309]
test al, al
je 0x53cc8e
movzx eax, byte [esp + 0x30a]
test al, al
je 0x53cc84
mov eax, 1
mov dword [esp + 0x134], edx
mov dword [esp + 0xb8], ebp
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x2fc]
cmp edx, ebp
je 0x53cc12
cmp eax, ecx
jne 0x53cb48
mov eax, dword [esp + 0x310]
cmp dword [eax], edi
jne 0x53cb48
test esi, esi
sete al
or eax, ebx
test al, al
je 0x53cb48
mov eax, dword [esp + 0x50]
cmp dword [0xb7d508], eax
je 0x53cab5
test esi, esi
jg 0x53a81a
cmp dword [0xb7d4f0], eax
je 0x53a795
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x829c5c]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x2d
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [0xb7d4f4]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x53a723
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00479b00
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x300]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00539060
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ecx
mov byte [esp + 0xd8], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0xcc]
test ebp, ebp
jne 0x53ca99
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov byte [esp + 0x42], al
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x134], esi
mov ebp, dword [esp + 0x50]
mov dword [esp], ebp
mov esi, dword [esp + 0xdc]
mov dword [esp + 4], esi
call fcn.0053d500
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x53c9c5
cmp ecx, 0x13
jne 0x53c9b6
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x53c99e
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x53c981
cmp ebp, 0xc
jne 0x53c96d
mov ecx, ebp
cmp ebp, 0x17
jne 0x53a926
cmp ecx, 0x18
jne 0x53a926
test ebx, ebx
jne 0x53a926
mov ebp, 0x18
mov esi, edx
movzx edx, byte [esp + 0x31c]
test dl, dl
je 0x53c966
mov edx, 0x11
mov dword [esp + 0x70], edx
movzx ebp, byte [esp + 0x309]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53c928
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x53c8de
mov ebp, dword [esp + 0x74]
je 0x53c8a3
mov dword [esp + 0xc0], edx
test al, al
je 0x53c886
xchg edi, eax
test al, al
xchg edi, eax
je 0x53c871
xor eax, eax
test al, al
je 0x53ac08
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x308]
call fcn.0044f6a4
call fcn.0053cd10
movzx eax, byte [esp + 0x24]
test al, al
je 0x53aa05
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xd8], al
lea edi, [esp + 0x1f8]
lea esi, [esp + 0x308]
call fcn.0044f6a4
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
call fcn.004078c0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x134]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
call fcn.00407990
mov eax, dword [esp + 8]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.004078c0
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
lea edi, [esp + 0x258]
xor eax, eax
call fcn.0044f1c6
lea eax, [0x7ab300]
mov dword [esp + 0x258], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x25c], ecx
lea ecx, [0x7e1380]
mov dword [esp], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 4], ecx
call fcn.00407a90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
lea eax, [0x7f8ee0]
mov dword [esp], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 4], eax
call fcn.004077f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], ecx
lea eax, [0x7abe80]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x274], eax
lea eax, [0x7ab300]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x27c], eax
lea eax, [0x826f43]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x258]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004bd7c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
jmp 0x53a9e9
nop
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
lea ebp, [edx + eax]
cmp ebp, edx
jge 0x53c85c
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x53c7ed
test ebp, ebp
jl 0x53ccf8
cmp edx, ebp
ja 0x53ccf8
mov esi, dword [esp + 0x300]
cmp ebp, esi
ja 0x53ccf8
mov dword [esp + 0xc0], ebp
sub esi, edx
mov dword [esp + 0xa8], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov dword [esp + 0xbc], edx
mov esi, dword [esp + 0x2f8]
lea edi, [esi + edx]
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0x50]
cmp dword [0xb7d508], edi
je 0x53c5d9
cmp dword [0xb7d4f8], edi
je 0x53c3a7
cmp dword [0xb7d4e0], edi
je 0x53c0d8
cmp dword [0xb7d510], edi
je 0x53be7a
cmp dword [0xb7d4e8], edi
je 0x53bd99
cmp dword [0xb7d4f0], edi
je 0x53bcf6
cmp dword [0xb7d4d8], edi
je 0x53bb81
nop
nop
mov ecx, dword [esp + 0x2f4]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x53b084
cmp ecx, 1
jne 0x53ae4c
nop
cmp eax, 1
jne 0x53ade8
movzx eax, byte [esi + edx]
test al, al
jne 0x53ad74
xor eax, eax
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x53ad2d
mov dword [esp + 0x320], ebp
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov byte [esp + 0xc], dl
call fcn.00479b00
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0xc0]
jmp 0x53ad11
cmp al, 0xff
jne 0x53ad84
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x53ad0d
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x81848a]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xf
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xc0]
xor edx, edx
jmp 0x53ad0d
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x81848a]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xf
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xc0]
xor edx, edx
jmp 0x53ad0d
cmp ecx, 2
jne 0x53afa9
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0047aa80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 4
jne 0x53af2d
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00537b20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x53aee3
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x98], eax
mov dword [esp + 0x100], ecx
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.00479e70
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x100]
jmp 0x53aec0
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00537850
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x53af66
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x53aec0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
call fcn.00479e70
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x84]
jmp 0x53af5b
add ecx, 0xfffffffb
cmp ecx, 1
jbe 0x53ae55
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0047aa80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp], 0
lea edx, [0x81783d]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043dbd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
cmp ecx, 0x17
je 0x53b909
cmp ecx, 0x18
jne 0x53b3ba
mov ecx, dword [esp + 0x70]
cmp ecx, 0x13
jg 0x53b304
cmp ecx, 0xc
je 0x53b24e
cmp ecx, 0x12
je 0x53b21b
cmp ecx, 0x13
je 0x53b1e8
mov dword [esp], ecx
call fcn.004078c0
mov eax, dword [esp + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
lea ecx, [0x7ab300]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
lea eax, [0x8266b1]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
test eax, eax
je 0x53b19d
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x134], ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0047a3d0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x134]
jmp 0x53b17a
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00538da0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x53b176
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00538cb0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x53b176
nop
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.00456180
movzx eax, byte [esp + 0xc]
test al, al
je 0x53b2bd
mov dword [esp], 0
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov ebp, edx
mov edx, ecx
mov ecx, ebp
mov esi, eax
mov eax, ebx
mov ebx, esi
jmp 0x53b176
nop
lea eax, [0x7c34e0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0xb91180]
test eax, eax
jne 0x53b2f7
lea eax, [0x81ed2b]
mov dword [edi], eax
xor ecx, ecx
mov edx, edi
lea ebx, [0x8b3870]
xor eax, eax
jmp 0x53b2ac
lea eax, [0x81ed2b]
call fcn.0044f0d0
jmp 0x53b2e9
cmp ecx, 0x14
je 0x53b382
cmp ecx, 0x16
je 0x53b34f
cmp ecx, 0x1b
jne 0x53b0be
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x53b176
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00538f80
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x53b176
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x53b176
cmp ecx, 0x19
jne 0x53afb5
lea ecx, [esp + 8]
mov dword [esp + 0x124], ecx
xor edx, edx
jmp 0x53b3dd
mov eax, dword [esp + 0x68]
lea edx, [eax + 1]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x68], edx
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x53b4a5
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2b4]
mov esi, dword [esp + 0x124]
call fcn.0044f65e
mov eax, dword [esp + 0x2c0]
test eax, eax
je 0x53b3d2
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x823b68]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x21
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x53b89e
xor eax, eax
test al, al
je 0x53b607
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xc0]
cmp eax, ecx
ja 0x53ccea
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00477470
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x2f8]
add eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x130], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xb4], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x120], esi
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00407a10
nop
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x53b893
lea ecx, [0x7ad500]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x53b883
mov dword [0xb7dd60], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
nop
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x53b878
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53b5d6
or edx, 0x80
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00479a20
lea eax, [esp + 8]
mov dword [esp + 0x11c], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x134]
xor ebp, ebp
xor esi, esi
jmp 0x53b638
lea ebp, [eax + 1]
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xdc]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x53b847
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x280]
mov esi, dword [esp + 0x124]
call fcn.0044f65e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x53b840
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x290]
cmp dword [0xb7d500], edx
je 0x53b81c
xor ecx, ecx
test cl, cl
je 0x53b6dc
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x64]
jmp 0x53b631
mov ecx, dword [esp + 0x2ec]
mov dword [esp], ecx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00477470
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x298]
mov ebp, dword [esp + 0x29c]
nop
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x8146c9]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0053cfa0
lea edi, [esp + 0x1f8]
mov esi, dword [esp + 0x11c]
call fcn.0044f6a4
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x118]
lea esi, [esp + 0x1f8]
call fcn.0044f6a4
call fcn.00539b50
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
jne 0x53b7f9
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x53b631
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xb7d504]
mov dword [esp + 8], eax
call fcn.00402f30
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x6c]
jmp 0x53b6c1
xor ecx, ecx
jmp 0x53b6c1
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x53b5d6
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x53b5a2
lea ecx, [0x7ad500]
jmp 0x53b5a2
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x2b4]
mov esi, dword [esp + 0x124]
call fcn.0044f65e
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
cmp dword [0xb7d500], ecx
je 0x53b8e9
xor eax, eax
jmp 0x53b4c6
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xb7d504]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
jmp 0x53b4c6
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
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
jne 0x53ba9f
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0047b530
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2f0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2f4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00479a20
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00407a10
mov eax, dword [esp + 0xc]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x53ba94
lea ecx, [0x7924c0]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x53ba84
mov dword [0xb7dd60], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
nop
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x53ba7c
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53ba1a
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047b210
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x53ba1a
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x53b9ea
lea ecx, [0x7924c0]
jmp 0x53b9ea
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00539670
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
je 0x53bb32
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ebx
mov dword [esp + 0x328], ebp
add esp, 0x2e8
ret
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00479a20
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xe4]
jmp 0x53bb0f
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d4dc]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53bbc9
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53acd5
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00537d00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x53bc1e
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
nop
nop
movzx ebx, byte [0xb7dd58]
test bl, bl
je 0x53bceb
lea ebx, [0x812a00]
mov dword [0xb7dd5c], ebx
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x53bcd5
mov dword [0xb7dd60], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], edx
nop
mov ebx, dword [esp + 0x160]
test ebx, ebx
je 0x53bccd
nop
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x53bc8c
or ebp, 0x80
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
call fcn.00479a20
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf4]
jmp 0x53bbfb
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x53bc8c
lea edi, [0xb7dd60]
mov ebp, eax
mov eax, edx
call fcn.0044f0d0
mov eax, ebp
jmp 0x53bc4f
lea ebx, [0x812a00]
jmp 0x53bc4f
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d4f4]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53bd3e
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53acc9
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00479b00
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d4ec]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53bde1
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53acbd
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00537b20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x53be36
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], edx
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x2ec]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.00479e70
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x7c]
jmp 0x53be13
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d514]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x53c0b6
lea edi, [esp + 0x1a8]
xor eax, eax
call fcn.0044f1cb
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x53c055
lea edi, [esp + 0x1e4]
call fcn.0044f1cb
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.005386d0
lea edi, [esp + 0x1e4]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x1a8]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
mov eax, dword [esp + 0x88]
test eax, eax
je 0x53bf50
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp + 0xec], edx
mov dword [esp + 0x88], eax
lea edi, [esp + 0x1e4]
lea esi, [esp + 0x1a8]
call fcn.0044f6ae
lea eax, [0x8101a0]
mov dword [esp], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 4], eax
call fcn.004077f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
nop
test ecx, ecx
je 0x53c04d
nop
movzx edx, byte [0xb7dd58]
test dl, dl
je 0x53bfc1
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x53c03d
mov dword [0xb7dd60], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
nop
mov ecx, dword [esp + 0x158]
test ecx, ecx
je 0x53c035
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53bff1
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00479a20
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
jmp 0x53bf2d
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x53bff1
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x53bfc1
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x53bff1
lea edi, [esp + 0x1e4]
call fcn.0044f1cb
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.00538a50
lea edi, [esp + 0x1e4]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x1a8]
mov esi, dword [esp + 0x138]
call fcn.0044f6ae
jmp 0x53bf29
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53acb1
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d4e4]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x53c385
nop
mov eax, dword [esp + 0x48]
test eax, eax
je 0x53c329
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x2f8]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x53c2b9
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x824351]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x22
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test ecx, ecx
je 0x53c1ab
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp + 0x104], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebp
lea eax, [0x7e6480]
mov dword [esp], eax
lea eax, [esp + 0x198]
mov dword [esp + 4], eax
call fcn.004077f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
nop
test ecx, ecx
je 0x53c2b1
nop
movzx edx, byte [0xb7dd58]
test dl, dl
je 0x53c225
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x53c2a1
mov dword [0xb7dd60], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
nop
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x53c299
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53c255
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00479a20
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x90]
jmp 0x53c188
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x53c255
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x53c225
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x53c255
cmp eax, 1
jne 0x53c325
test edx, edx
setg bl
test bl, bl
jne 0x53c12d
cmp cl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x114]
movzx esi, byte [eax + ebp - 1]
mov edi, 1
shl edi, cl
and edi, ebx
lea ebx, [edi - 1]
xchg esi, eax
test bl, al
xchg esi, eax
jne 0x53c12d
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa8]
lea ebx, [edi - 1]
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
lea edx, [ebp + ebx]
mov ebx, edi
mov ebp, esi
mov esi, eax
xor ecx, ecx
xor eax, eax
jmp 0x53c184
xor ebx, ebx
jmp 0x53c2c3
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x81c8c7]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x16
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x53c184
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53aca5
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d4fc]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53c3ef
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53ac99
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.005382a0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0xe0], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp], esi
mov edi, dword [esp + 0x2f0]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
call fcn.0047aa80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0047b530
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2f0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2f4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00479a20
mov eax, dword [esp + 0x94]
test eax, eax
je 0x53c4f9
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00407a10
mov eax, dword [esp + 0xc]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x53c5ce
lea ecx, [0x7cac00]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x53c5be
mov dword [0xb7dd60], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
nop
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x53c5b6
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53c579
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0047b210
mov eax, dword [esp + 0x94]
jmp 0x53c4cf
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x53c579
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x53c549
lea ecx, [0x7cac00]
jmp 0x53c549
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0xb7d50c]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x53c7cb
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xc0]
cmp eax, ecx
ja 0x53ccf1
lea edi, [esp + 0x210]
lea esi, [0x8b8cc0]
call fcn.0044f686
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x214], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x218], cl
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x300]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2f8]
add ecx, ebx
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0xc0]
sub ecx, eax
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], edx
lea edi, [esp + 0x234]
lea esi, [esp + 0x210]
call fcn.0044f686
lea eax, [0x7e7380]
mov dword [esp], eax
lea eax, [esp + 0x234]
mov dword [esp + 4], eax
call fcn.004077f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
nop
test eax, eax
je 0x53c7c0
nop
movzx edx, byte [0xb7dd58]
test dl, dl
je 0x53c710
mov dword [0xb7dd5c], eax
mov edx, dword [0xb91180]
test edx, edx
jne 0x53c7aa
mov dword [0xb7dd60], ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
nop
mov eax, dword [esp + 0x170]
test eax, eax
je 0x53c7a2
nop
nop
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53c740
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00479a20
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x53c740
lea edi, [0xb7dd60]
mov edx, eax
mov eax, ecx
call fcn.0044f0d0
mov eax, edx
jmp 0x53c710
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x53c740
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x53ac8d
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x817d03]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xe
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov edi, dword [esp + 0x2fc]
cmp ebp, edi
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x53ac21
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
setne al
jmp 0x53a98b
cmp ebp, ebx
je 0x53c89c
mov eax, 1
test al, al
jne 0x53a993
jmp 0x53a97f
cmp edx, ecx
setne al
jmp 0x53c88f
movzx ecx, byte [esp + 0x30b]
test cl, cl
je 0x53c8d5
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x53c8cc
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov ebp, 3
jmp 0x53a970
mov ecx, dword [esp + 0x44]
jmp 0x53a970
mov ecx, dword [esp + 0x44]
jmp 0x53a970
movzx ecx, byte [esp + 0x30a]
test cl, cl
je 0x53c91b
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x53c90e
mov edx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
mov eax, 0
mov ebp, 1
jmp 0x53a96a
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
jmp 0x53a966
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
jmp 0x53a966
mov edi, ecx
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x53c95b
mov ecx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov edi, eax
mov eax, 0
mov eax, 2
mov dword [esp + 0x74], eax
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov eax, 0
jmp 0x53a960
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, edi
jmp 0x53a953
mov edx, ebp
jmp 0x53a93d
cmp ebp, 0x12
je 0x53a911
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x53a913
cmp ebp, 0x14
je 0x53a911
cmp ebp, 0x16
je 0x53a911
cmp ebp, 0x1b
je 0x53a911
jmp 0x53c976
mov ebp, dword [esp + 0x314]
test ebp, ebp
je 0x53c9b2
mov ecx, dword [esp + 0x44]
jmp 0x53a913
mov ebp, ecx
jmp 0x53c9a9
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x53a913
mov eax, dword [esp + 0x50]
test eax, eax
je 0x53c9d0
mov eax, dword [eax + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x184], eax
lea eax, [0x81a921]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x328], esi
add esp, 0x2e8
ret
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb0], esi
mov byte [esp + 0x43], bl
mov dword [esp + 0xac], edi
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [0xb7d50c]
mov dword [esp + 8], edx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x53cb28
mov ebp, dword [esp + 0xb8]
movzx eax, byte [esp + 0x43]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0xbc]
jmp 0x53a892
mov ecx, dword [esp + 0xb0]
test ecx, ecx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x2fc]
jmp 0x53a715
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x308]
call fcn.0044f6a4
call fcn.0053cd10
movzx eax, byte [esp + 0x24]
test al, al
je 0x53cbba
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x825ec8]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x25
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc0]
jmp 0x53cb9e
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x81e46f]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x19
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov eax, 2
jmp 0x53a6b9
mov eax, ebx
mov ebx, edi
mov edi, ecx
mov ecx, dword [esp + 0xc0]
mov ecx, edx
mov edx, esi
mov esi, ecx
mov ecx, dword [esp + 0xc0]
jmp 0x53a892
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ebp
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
jmp 0x539c93
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.0044d880
jmp fcn.00539b50