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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x260]
cmp eax, dword [ecx + 8]
jbe 0x5277ba
sub esp, 0x2e0
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 8], edx
call fcn.004831d0
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2fc]
mov ebx, dword [esp + 0x2f4]
cmp edx, ebx
jne 0x524a8d
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
lea esi, [esp + 0x300]
call fcn.00452774
call fcn.005277d0
movzx eax, byte [esp + 0x24]
test al, al
je 0x524a6b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x2fc]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
lea eax, [0x8c6315]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x96f4d0]
jmp 0x524a48
mov dword [esp + 0x144], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xe4], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x14
je 0x527770
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x140], ecx
test al, al
je 0x52536b
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0xc], ebx
call fcn.00524090
mov eax, dword [esp + 0x18]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], eax
mov byte [esp + 0xe0], cl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test esi, esi
jne 0x52534f
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc8], esi
lea esi, [edx + eax]
cmp esi, eax
jge 0x525333
mov dword [esp + 0xcc], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc4], ebx
movzx ebx, byte [esp + 0x41]
test bl, bl
jne 0x5252ef
mov dword [esp + 0xc0], esi
test cl, cl
je 0x524cbf
mov eax, dword [esp + 0xc8]
xor ecx, ecx
xor edx, edx
test eax, eax
jne 0x524ca3
mov dword [esp + 0x13c], edi
mov dword [esp + 0xc8], eax
test edx, edx
je 0x524c50
nop
movzx ebx, byte [0xc584b0]
test bl, bl
je 0x524bef
mov dword [0xc584b4], edx
mov ebx, dword [0xc6be00]
test ebx, ebx
jne 0x524c89
mov dword [0xc584b8], ecx
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x150]
test edx, edx
je 0x524c81
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x524c1f
or ebx, 0x80
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call fcn.00481bd0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp 0x524c1f
mov ebx, edi
lea edi, [0xc584b8]
mov ebp, eax
mov eax, ecx
call fcn.00451ff0
mov eax, ebp
mov edi, ebx
jmp 0x524bef
mov dword [esp + 0x318], esi
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], edi
add esp, 0x2e0
ret
test ebp, ebp
jne 0x524ba0
mov ebx, dword [esp + 0x2f8]
cmp esi, ebx
ja 0x5277b0
cmp eax, esi
ja 0x5277a9
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x2f0]
mov ecx, esi
lea esi, [ebp + ebx]
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0xc4]
cmp esi, 0xc
jg 0x525070
mov dword [esp + 0xc4], eax
cmp esi, 3
jg 0x524ef6
cmp esi, 2
je 0x524e98
cmp esi, 3
jne 0x524e86
test edx, edx
je 0x524e59
movzx ebx, byte [ebp + ebx]
movzx ebp, bl
cmp ebp, 7
jle 0x524ddf
lea eax, [0x8d0fb7]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408100
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x96f4d0]
xor esi, esi
mov dword [esp + 0x114], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], esi
lea ecx, [0x885860]
mov dword [esp], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 4], ecx
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xc0]
mov edi, edx
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x524bab
cmp edx, 1
jne 0x524e55
test ebp, ebp
xchg esi, ebx
setg bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x524d4a
cmp bl, 0x20
sbb esi, esi
mov edi, dword [esp + 0x118]
movzx edi, byte [edx + edi - 1]
mov ecx, ebx
mov eax, 1
shl eax, cl
and eax, esi
dec eax
xchg edi, ebx
test al, bl
xchg edi, ebx
jne 0x524d4a
lea esi, [edx - 1]
mov edx, esi
shl esi, 3
sub esi, ebp
mov edi, dword [esp + 0xc4]
lea ecx, [edi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov eax, edi
mov edi, dword [esp + 0x118]
lea ebx, [edi + ecx]
mov ecx, eax
xor eax, eax
xor ebp, ebp
jmp 0x524d72
xor esi, esi
jmp 0x524ded
lea eax, [0x8c9213]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408100
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x96f4d0]
xor esi, esi
jmp 0x524d72
xor eax, eax
xor ecx, ecx
mov edx, edi
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00522ae0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x13c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc8], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408090
mov eax, dword [esp + 8]
lea ecx, [0x8430c0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
cmp esi, 4
je 0x525035
cmp esi, 6
je 0x524fcf
cmp esi, 0xc
jne 0x524e86
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0045e3f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x524fa1
mov dword [esp], 0
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
call fcn.004405f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x110], edx
mov dword [esp + 0xa0], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x843c00]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa0]
jmp 0x524dcb
nop
lea eax, [0x85b840]
mov dword [esp], eax
call fcn.0040a800
mov edx, dword [esp + 4]
mov dword [edx + 4], 0x1a
lea eax, [0x8cba68]
mov dword [edx], eax
lea ebx, [0x96e8d0]
xor eax, eax
xor ecx, ecx
jmp 0x524f6a
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523460
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc8], 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.00408180
mov eax, dword [esp + 0xc]
lea ecx, [0x8641a0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov dword [esp + 0x13c], edi
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00408180
mov eax, dword [esp + 0xc]
lea ecx, [0x8279e0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
cmp esi, 0x14
jg 0x525192
cmp esi, 0x12
je 0x525134
cmp esi, 0x13
je 0x5250d6
cmp esi, 0x14
jne 0x524e86
mov dword [esp], 0
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004405f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x843c00]
xor edx, edx
xor ebx, ebx
jmp 0x524dcb
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523e50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x13c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x843c00]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523d80
mov eax, dword [esp + 0x18]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x843c00]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
cmp esi, 0x16
je 0x525291
cmp esi, 0x17
je 0x52521d
cmp esi, 0x18
jne 0x524e86
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523b60
lea edi, [esp + 0x1b4]
mov esi, dword [esp + 0x140]
call fcn.0045277e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x13c], ecx
lea edx, [0x8bad60]
mov dword [esp], edx
lea edx, [esp + 0x1b4]
mov dword [esp + 4], edx
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523820
lea edi, [esp + 0x1c8]
mov esi, dword [esp + 0x140]
call fcn.0045277e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc8], ecx
lea edx, [0x8bad60]
mov dword [esp], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 4], edx
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00523fd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x843c00]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x524dcb
mov dword [esp + 0x58], eax
lea eax, [0x8c3ad3]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4d0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov edx, dword [esp + 0x2f4]
cmp esi, edx
setg dl
mov byte [esp + 0x41], dl
mov edx, dword [esp + 0xa4]
jmp 0x524b7d
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], esi
mov dword [esp + 0x320], edi
add esp, 0x2e0
ret
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0xc], ebx
call fcn.00524090
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov byte [esp + 0xe0], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xdc]
test esi, esi
jne 0x527754
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x301]
test al, al
je 0x527739
movzx eax, byte [esp + 0x302]
test al, al
je 0x52772f
mov eax, 1
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x13c], ebp
mov ebp, dword [esp + 0x2f4]
cmp ecx, ebp
je 0x5276ec
mov dword [esp + 0xc8], esi
cmp eax, ebx
jne 0x527651
mov eax, dword [esp + 0x308]
cmp dword [eax], edx
jne 0x527651
mov dword [esp + 0xc0], edx
test edi, edi
sete al
movzx edx, byte [esp + 0x43]
or eax, edx
test al, al
je 0x527651
mov eax, dword [esp + 0x50]
cmp dword [0xc57960], eax
je 0x5275c2
test edi, edi
jg 0x525554
cmp dword [0xc57948], eax
je 0x5254d3
lea eax, [0x8d68fe]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4b0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [0xc5794c]
mov dword [esp + 8], eax
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
je 0x525490
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00481ce0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0x2f0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x2f8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00524090
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xe0], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
test ebx, ebx
jne 0x5275a6
mov dword [esp + 0x13c], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x42], al
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc8], ebx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 4], ebx
call fcn.00527fc0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x527501
cmp ecx, 0x13
jne 0x5274f2
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x5274da
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x5274bd
cmp ebp, 0xc
jne 0x5274a9
mov ecx, ebp
cmp ebp, 0x17
jne 0x525660
cmp ecx, 0x18
jne 0x525660
test ebx, ebx
jne 0x525660
mov ebp, 0x18
mov esi, ebx
movzx ebx, byte [esp + 0x314]
test bl, bl
je 0x5274a2
mov ebx, 0x11
mov dword [esp + 0x70], ebx
movzx ebp, byte [esp + 0x301]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x52746a
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x527417
mov ebp, dword [esp + 0x74]
je 0x5273d3
mov dword [esp + 0xc4], ebx
test al, al
je 0x5273b6
xchg edi, eax
test al, al
xchg edi, eax
je 0x5273a5
xor eax, eax
test al, al
je 0x525913
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x144]
lea esi, [esp + 0x300]
call fcn.00452774
call fcn.005277d0
movzx eax, byte [esp + 0x24]
test al, al
je 0x52573f
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xdc], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xe0], al
lea edi, [esp + 0x1f0]
lea esi, [esp + 0x300]
call fcn.00452774
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x13c], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call fcn.00408030
mov eax, dword [esp + 4]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call fcn.00408100
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00408030
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
lea edi, [esp + 0x250]
xor eax, eax
call fcn.00452296
lea eax, [0x843000]
mov dword [esp + 0x250], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x254], ecx
lea ecx, [0x87fac0]
mov dword [esp], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 4], ecx
call fcn.00408200
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
lea eax, [0x89e960]
mov dword [esp], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
lea eax, [0x843c00]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x26c], eax
lea eax, [0x843000]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x274], eax
lea eax, [0x8d3b27]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x250]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004c8f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408100
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea edx, [0x96f4b0]
jmp 0x525723
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea ebp, [eax + ebx]
cmp ebp, eax
jge 0x527394
mov edx, 1
test dl, dl
jne 0x527354
mov edx, dword [esp + 0x2f8]
cmp ebp, edx
ja 0x5277a2
cmp eax, ebp
ja 0x52779b
mov dword [esp + 0xc4], ebp
sub edx, eax
mov dword [esp + 0xa8], edx
neg edx
sar edx, 0x1f
and eax, edx
mov dword [esp + 0xc0], eax
mov edx, dword [esp + 0x2f0]
lea edi, [edx + eax]
mov dword [esp + 0x11c], edi
mov edi, dword [esp + 0x50]
cmp dword [0xc57960], edi
je 0x527149
cmp dword [0xc57950], edi
je 0x526f1d
cmp dword [0xc57938], edi
je 0x526cb4
cmp dword [0xc57968], edi
je 0x526a63
cmp dword [0xc57940], edi
je 0x52697c
cmp dword [0xc57948], edi
je 0x5268d9
cmp dword [0xc57930], edi
je 0x526761
nop
mov ecx, dword [esp + 0x2ec]
mov esi, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x525ceb
cmp ecx, 1
jne 0x525ae8
cmp ebx, 1
jne 0x525ab3
movzx eax, byte [edx + eax]
test al, al
jne 0x525a6e
xor eax, eax
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x525a27
mov dword [esp + 0x318], ebp
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov dword [esp + 0x104], ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov byte [esp + 0xc], dl
call fcn.00481ce0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc4]
jmp 0x525a0b
cmp al, 0xff
jne 0x525a7e
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x525a07
lea eax, [0x8c4357]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408100
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0x96f4d0]
xor edx, edx
jmp 0x525a07
lea eax, [0x8c4357]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408100
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0x96f4d0]
xor edx, edx
jmp 0x525a07
cmp ecx, 2
jne 0x525c3f
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004831d0
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 0x525bc3
mov eax, dword [esp + 0x11c]
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.00522d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x525b7f
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
mov dword [esp + 0x7c], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.00482210
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x108]
jmp 0x525b5c
mov eax, dword [esp + 0x11c]
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.00522ae0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x525bfc
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x525b5c
mov dword [esp + 0xec], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
call fcn.00482210
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x80]
jmp 0x525bf1
lea eax, [ecx - 5]
cmp eax, 1
jbe 0x525af1
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004831d0
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 + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x8c3563]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00440470
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4b0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
cmp ecx, 0x17
je 0x5264ec
cmp ecx, 0x18
jne 0x525fd8
mov eax, dword [esp + 0x70]
cmp eax, 0x13
jg 0x525f22
cmp eax, 0xc
je 0x525e86
cmp eax, 0x12
je 0x525e53
cmp eax, 0x13
je 0x525e20
mov dword [esp], eax
call fcn.00408030
mov eax, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea ecx, [0x843000]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x8d3113]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c8f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408100
mov eax, dword [esp + 8]
lea ecx, [0x96f4d0]
xor edx, edx
xor ebx, ebx
test ecx, ecx
je 0x525dd5
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x13c], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004829d0
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0xc8]
jmp 0x525db2
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00523e50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x525dae
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00523d80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x525dae
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.0045e3f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x525ef4
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
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.004405f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
mov esi, ecx
mov ecx, edx
mov edx, esi
jmp 0x525dae
nop
lea eax, [0x85b840]
mov dword [esp], eax
call fcn.0040a800
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0x1a
lea eax, [0x8cba68]
mov dword [ebx], eax
xor ecx, ecx
lea edx, [0x96e8d0]
xor eax, eax
jmp 0x525ee3
cmp eax, 0x14
je 0x525fa0
cmp eax, 0x16
je 0x525f6d
cmp eax, 0x1b
jne 0x525d25
nop
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.004405f0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
xor eax, eax
xor ecx, ecx
jmp 0x525dae
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00523fd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x525dae
nop
mov dword [esp], 0
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.004405f0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
jmp 0x525dae
cmp ecx, 0x19
jne 0x525c4b
lea eax, [esp + 8]
mov dword [esp + 0x12c], eax
xor ecx, ecx
jmp 0x525ffb
mov eax, dword [esp + 0x68]
lea ecx, [eax + 1]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x68], ecx
mov eax, dword [edi + 0x64]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x526090
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2ac]
mov esi, dword [esp + 0x12c]
call fcn.0045272e
mov eax, dword [esp + 0x2b8]
test eax, eax
je 0x525ff0
lea eax, [0x8d08dd]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4b0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x526481
xor eax, eax
test al, al
je 0x5261ef
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x527791
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0047ebb0
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x2f0]
add eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x138], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x128], esi
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00408180
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xc584b0]
test cl, cl
je 0x526476
lea ecx, [0x844f80]
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x526466
mov dword [0xc584b8], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x52645b
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5261be
or edx, 0x80
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00481bd0
lea eax, [esp + 8]
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
xor ebp, ebp
xor esi, esi
jmp 0x526220
lea ebp, [eax + 1]
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0xc8], 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 + 0xe4]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x52642a
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x278]
mov esi, dword [esp + 0x12c]
call fcn.0045272e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x526423
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
cmp dword [0xc57958], edx
je 0x5263ff
xor ecx, ecx
test cl, cl
je 0x5262c4
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x64]
jmp 0x526219
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
mov edx, dword [esp + 0x2e8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0047ebb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x138], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x128], edx
mov ebx, dword [esp + 0x294]
mov ebp, dword [esp + 0x290]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x8c0065]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.004779a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00527a60
lea edi, [esp + 0x1f0]
mov esi, dword [esp + 0x124]
call fcn.00452774
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x11c]
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 + 0x120]
lea esi, [esp + 0x1f0]
call fcn.00452774
call fcn.005249a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, ecx
jne 0x5263dc
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0x6c]
jmp 0x526219
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xc5795c]
mov dword [esp + 8], eax
call fcn.00403030
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x6c]
jmp 0x5262a9
xor ecx, ecx
jmp 0x5262a9
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5261be
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x52618c
lea ecx, [0x844f80]
jmp 0x52618c
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x2ac]
mov esi, dword [esp + 0x12c]
call fcn.0045272e
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
cmp dword [0xc57958], ecx
je 0x5264cc
xor eax, eax
jmp 0x5260b1
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xc5795c]
mov dword [esp + 8], eax
call fcn.00403030
movzx eax, byte [esp + 0xc]
jmp 0x5260b1
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0xe4]
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 0x52667f
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004839c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00481bd0
mov eax, dword [esp + 0x11c]
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.00408180
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xc584b0]
test cl, cl
je 0x526674
lea ecx, [0x8279e0]
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x526664
mov dword [0xc584b8], eax
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x52665c
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5265fa
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00483650
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5265fa
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x5265cc
lea ecx, [0x8279e0]
jmp 0x5265cc
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x11c]
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 + 0xe4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00524540
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
je 0x526712
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0xfc], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.00481bd0
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x8c]
jmp 0x5266ef
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc57934]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5267a9
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x5259d1
mov eax, dword [esp + 0x11c]
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.00522ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x5267fe
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
nop
movzx ebx, byte [0xc584b0]
test bl, bl
je 0x5268ce
lea ebx, [0x8be780]
mov dword [0xc584b4], ebx
mov ebp, dword [0xc6be00]
test ebp, ebp
jne 0x5268b8
mov dword [0xc584b8], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], edx
mov ebx, dword [esp + 0x158]
test ebx, ebx
je 0x5268b0
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x52686c
or ebp, 0x80
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
call fcn.00481bd0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x84]
jmp 0x5267db
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x52686c
lea edi, [0xc584b8]
mov ebp, eax
mov eax, edx
call fcn.00451ff0
mov eax, ebp
jmp 0x52682e
lea ebx, [0x8be780]
jmp 0x52682e
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc5794c]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
jne 0x526921
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x5259c5
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00481ce0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc57944]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5269c4
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x5259b9
mov eax, dword [esp + 0x11c]
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.00522d50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x526a19
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.00482210
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x90]
jmp 0x5269f6
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc5796c]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
je 0x526c92
lea edi, [esp + 0x1a0]
xor eax, eax
call fcn.0045229b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x526c31
lea edi, [esp + 0x1dc]
call fcn.0045229b
mov ecx, dword [esp + 0x11c]
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.00523820
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.0045277e
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x1a0]
mov esi, dword [esp + 0x140]
call fcn.0045277e
mov eax, dword [esp + 0x10c]
test edx, edx
je 0x526b39
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x10c], eax
mov dword [esp + 0x78], edx
lea edi, [esp + 0x1dc]
lea esi, [esp + 0x1a0]
call fcn.0045277e
lea eax, [0x8bad60]
mov dword [esp], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x526c29
nop
movzx edx, byte [0xc584b0]
test dl, dl
je 0x526ba2
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x526c19
mov dword [0xc584b8], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x526c11
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x526bd0
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00481bd0
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x78]
jmp 0x526b16
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x526bd0
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x526ba2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x526bd0
lea edi, [esp + 0x1dc]
call fcn.0045229b
mov ecx, dword [esp + 0x11c]
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.00523b60
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.0045277e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x1a0]
mov esi, dword [esp + 0x140]
call fcn.0045277e
jmp 0x526b12
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x5259ad
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc5793c]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
je 0x526efb
mov eax, dword [esp + 0x48]
test eax, eax
je 0x526ece
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x2f0]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x526e62
lea eax, [0x8d0fb7]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408100
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x96f4d0]
xor esi, esi
test ebp, ebp
je 0x526d57
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], ebp
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0xf8], eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], esi
lea eax, [0x885860]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x526e5a
nop
movzx edx, byte [0xc584b0]
test dl, dl
je 0x526dd0
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x526e4a
mov dword [0xc584b8], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x526e42
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x526dfe
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00481bd0
mov eax, dword [esp + 0xf8]
mov ebp, dword [esp + 0x94]
jmp 0x526d34
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x526dfe
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x526dd0
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x526dfe
cmp eax, 1
jne 0x526eca
test edx, edx
setg bl
test bl, bl
jne 0x526d08
cmp cl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x11c]
movzx esi, byte [eax + ebp - 1]
mov edi, 1
shl edi, cl
and ebx, edi
dec ebx
xchg esi, eax
test bl, al
xchg esi, eax
jne 0x526d08
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa8]
lea ecx, [edi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
lea ebx, [ebp + ecx]
mov ecx, edi
mov edx, eax
xor eax, eax
xor ebp, ebp
jmp 0x526d30
xor ebx, ebx
jmp 0x526e6c
lea eax, [0x8c9213]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408100
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x96f4d0]
xor esi, esi
jmp 0x526d30
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x5259a1
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc57954]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
jne 0x526f65
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x525995
mov eax, dword [esp + 0x11c]
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.00523460
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xf4], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x2e4]
mov dword [esp], esi
mov edi, dword [esp + 0x2e8]
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x2ec]
mov dword [esp + 8], ebp
call fcn.004831d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004839c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2e8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00481bd0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x52706f
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, dword [esp + 0xe8]
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.00408180
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xc584b0]
test cl, cl
je 0x52713e
lea ecx, [0x8641a0]
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x527131
mov dword [0xc584b8], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x527129
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5270ec
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00483650
mov eax, dword [esp + 0x88]
jmp 0x527045
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5270ec
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x5270be
lea ecx, [0x8641a0]
jmp 0x5270be
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0xc57964]
mov dword [esp + 8], ecx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
je 0x527332
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x527796
lea edi, [esp + 0x208]
lea esi, [0x974400]
call fcn.00452756
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20c], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x210], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x2f8]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2f0]
add ecx, ebx
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0xc4]
sub ecx, eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], edx
lea edi, [esp + 0x22c]
lea esi, [esp + 0x208]
call fcn.00452756
lea eax, [0x886fc0]
mov dword [esp], eax
lea eax, [esp + 0x22c]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x527327
nop
movzx edx, byte [0xc584b0]
test dl, dl
je 0x52727f
mov dword [0xc584b4], ecx
mov edx, dword [0xc6be00]
test edx, edx
jne 0x527317
mov dword [0xc584b8], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x52730f
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5272ad
or edx, 0x80
mov ebx, dword [esp + 0x2e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00481bd0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x5272ad
lea edi, [0xc584b8]
call fcn.00451ff0
jmp 0x52727f
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5272ad
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x2f0]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x50]
jmp 0x525989
lea eax, [0x8c3ad3]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4d0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov edi, dword [esp + 0x2f4]
cmp ebp, edi
setg dl
jmp 0x52592b
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
setne al
jmp 0x5256c5
cmp ebp, esi
je 0x5273cc
mov eax, 1
test al, al
jne 0x5256cd
jmp 0x5256b9
cmp ebx, ecx
setne al
jmp 0x5273bf
mov dword [esp + 0xb8], ebx
movzx ebx, byte [esp + 0x303]
test bl, bl
je 0x52740b
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x5273ff
mov ebx, dword [ebx]
xor eax, eax
mov ebp, 3
jmp 0x5256aa
mov ebx, dword [esp + 0xb8]
jmp 0x5256aa
mov ebx, dword [esp + 0xb8]
jmp 0x5256aa
mov dword [esp + 0xb4], ebx
movzx ebx, byte [esp + 0x302]
test bl, bl
je 0x52745a
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x52744a
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, 0
mov ebp, 1
jmp 0x5256a4
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x5256a0
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x5256a0
mov edi, ebx
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x527497
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov edi, eax
mov eax, 0
mov eax, 2
mov dword [esp + 0x74], eax
mov eax, 0
jmp 0x52569a
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
jmp 0x52568d
mov ebx, ebp
jmp 0x525677
cmp ebp, 0x12
je 0x52564b
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x52564d
cmp ebp, 0x14
je 0x52564b
cmp ebp, 0x16
je 0x52564b
cmp ebp, 0x1b
je 0x52564b
jmp 0x5274b2
mov ebp, dword [esp + 0x30c]
test ebp, ebp
je 0x5274ee
mov ecx, dword [esp + 0x44]
jmp 0x52564d
mov ebp, ecx
jmp 0x5274e5
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x52564d
mov eax, dword [esp + 0x50]
test eax, eax
je 0x52750c
mov eax, dword [eax + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18c], eax
lea eax, [0x8c7053]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c8f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4b0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], ebx
mov dword [esp + 0x320], edx
add esp, 0x2e0
ret
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], edi
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [0xc57964]
mov dword [esp + 8], edx
call fcn.00403030
movzx eax, byte [esp + 0xc]
test al, al
je 0x52762a
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
movzx eax, byte [esp + 0x43]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb0]
jmp 0x5255cc
mov edx, dword [esp + 0xac]
test edx, edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x2f4]
mov esi, dword [esp + 0xc8]
jmp 0x525482
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x144]
lea esi, [esp + 0x300]
call fcn.00452774
call fcn.005277d0
movzx eax, byte [esp + 0x24]
test al, al
je 0x5276c3
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], ecx
add esp, 0x2e0
ret
lea eax, [0x8d2896]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00408100
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc4]
lea edx, [0x96f4b0]
jmp 0x5276a7
lea eax, [0x8cb08c]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00408100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x96f4b0]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, 2
jmp 0x52541a
movzx eax, byte [esp + 0x43]
mov eax, edx
mov edx, ebp
mov ebp, edi
mov edi, ebx
mov ebx, esi
mov esi, eax
movzx eax, byte [esp + 0x43]
jmp 0x5255cc
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], esi
mov dword [esp + 0x320], ebp
add esp, 0x2e0
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
jmp 0x524ab4
call fcn.004520d0
call fcn.004520d0
mov ecx, ebp
call fcn.004520d0
mov ecx, ebp
call fcn.004520b0
mov ecx, esi
call fcn.004520d0
mov ecx, esi
mov edx, ebx
call fcn.004520b0
nop
call fcn.004507b0
jmp fcn.005249a0