Function at 0x5183f0
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 0x51b20a
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.00481f50
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 0x5184dd
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.004514a4
call fcn.0051b220
movzx eax, byte [esp + 0x24]
test al, al
je 0x5184bb
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, [0x6a5bea]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x704f20]
jmp 0x518498
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 0x51b1c0
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x140], ecx
test al, al
je 0x518dbb
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.00517ae0
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 0x518d9f
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc8], esi
lea esi, [edx + eax]
cmp esi, eax
jge 0x518d83
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 0x518d3f
mov dword [esp + 0xc0], esi
test cl, cl
je 0x51870f
mov eax, dword [esp + 0xc8]
xor ecx, ecx
xor edx, edx
test eax, eax
jne 0x5186f3
mov dword [esp + 0x13c], edi
mov dword [esp + 0xc8], eax
test edx, edx
je 0x5186a0
nop
movzx ebx, byte [0x8adfa8]
test bl, bl
je 0x51863f
mov dword [0x8adfac], edx
mov ebx, dword [0x8c1190]
test ebx, ebx
jne 0x5186d9
mov dword [0x8adfb0], ecx
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x150]
test edx, edx
je 0x5186d1
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x51866f
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.00480f00
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 0x51866f
mov ebx, edi
lea edi, [0x8adfb0]
mov ebp, eax
mov eax, ecx
call fcn.00450d20
mov eax, ebp
mov edi, ebx
jmp 0x51863f
mov dword [esp + 0x318], esi
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], edi
add esp, 0x2e0
ret
test ebp, ebp
jne 0x5185f0
mov ebx, dword [esp + 0x2f8]
cmp esi, ebx
ja 0x51b200
cmp eax, esi
ja 0x51b1f9
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 0x518ac0
mov dword [esp + 0xc4], eax
cmp esi, 3
jg 0x518946
cmp esi, 2
je 0x5188e8
cmp esi, 3
jne 0x5188d6
test edx, edx
je 0x5188a9
movzx ebx, byte [ebp + ebx]
movzx ebp, bl
cmp ebp, 7
jle 0x51882f
lea eax, [0x6ac8f5]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00407e70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x704f20]
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, [0x67efa0]
mov dword [esp], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 4], ecx
call fcn.00407cd0
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 0x5185fb
cmp edx, 1
jne 0x5188a5
test ebp, ebp
xchg esi, ebx
setg bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x51879a
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 0x51879a
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 0x5187c2
xor esi, esi
jmp 0x51883d
lea eax, [0x6a791b]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00407e70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x704f20]
xor esi, esi
jmp 0x5187c2
xor eax, eax
xor ecx, ecx
mov edx, edi
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005165c0
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.00407e00
mov eax, dword [esp + 8]
lea ecx, [0x659100]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
cmp esi, 4
je 0x518a85
cmp esi, 6
je 0x518a1f
cmp esi, 0xc
jne 0x5188d6
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0045ee90
movzx eax, byte [esp + 0xc]
test al, al
je 0x5189f1
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.0043f830
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.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x659b80]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa0]
jmp 0x51881b
nop
lea eax, [0x666840]
mov dword [esp], eax
call fcn.0040a500
mov edx, dword [esp + 4]
mov dword [edx + 4], 0x1a
lea eax, [0x6a91a9]
mov dword [edx], eax
lea ebx, [0x704720]
xor eax, eax
xor ecx, ecx
jmp 0x5189ba
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00516eb0
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.00407ef0
mov eax, dword [esp + 0xc]
lea ecx, [0x66b520]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
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.00407ef0
mov eax, dword [esp + 0xc]
lea ecx, [0x64b6c0]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
cmp esi, 0x14
jg 0x518be2
cmp esi, 0x12
je 0x518b84
cmp esi, 0x13
je 0x518b26
cmp esi, 0x14
jne 0x5188d6
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.0043f830
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x659b80]
xor edx, edx
xor ebx, ebx
jmp 0x51881b
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005178a0
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.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x659b80]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005177d0
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.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x659b80]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
cmp esi, 0x16
je 0x518ce1
cmp esi, 0x17
je 0x518c6d
cmp esi, 0x18
jne 0x5188d6
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005175b0
lea edi, [esp + 0x1b4]
mov esi, dword [esp + 0x140]
call fcn.004514ae
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x13c], ecx
lea edx, [0x69ea20]
mov dword [esp], edx
lea edx, [esp + 0x1b4]
mov dword [esp + 4], edx
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00517270
lea edi, [esp + 0x1c8]
mov esi, dword [esp + 0x140]
call fcn.004514ae
mov eax, dword [esp + 0x24]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc8], ecx
lea edx, [0x69ea20]
mov dword [esp], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 4], edx
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00517a20
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.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x659b80]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc8]
jmp 0x51881b
mov dword [esp + 0x58], eax
lea eax, [0x6a43fe]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f20]
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 0x5185cd
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.00517ae0
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 0x51b1a4
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x301]
test al, al
je 0x51b189
movzx eax, byte [esp + 0x302]
test al, al
je 0x51b17f
mov eax, 1
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x13c], ebp
mov ebp, dword [esp + 0x2f4]
cmp ecx, ebp
je 0x51b13c
mov dword [esp + 0xc8], esi
cmp eax, ebx
jne 0x51b0a1
mov eax, dword [esp + 0x308]
cmp dword [eax], edx
jne 0x51b0a1
mov dword [esp + 0xc0], edx
test edi, edi
sete al
movzx edx, byte [esp + 0x43]
or eax, edx
test al, al
je 0x51b0a1
mov eax, dword [esp + 0x50]
cmp dword [0x8ad918], eax
je 0x51b012
test edi, edi
jg 0x518fa4
cmp dword [0x8ad900], eax
je 0x518f23
lea eax, [0x6b0252]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f00]
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 [0x8ad904]
mov dword [esp + 8], eax
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x518ee0
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.00481010
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.00517ae0
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 0x51aff6
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.0051ba10
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x51af51
cmp ecx, 0x13
jne 0x51af42
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x51af2a
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x51af0d
cmp ebp, 0xc
jne 0x51aef9
mov ecx, ebp
cmp ebp, 0x17
jne 0x5190b0
cmp ecx, 0x18
jne 0x5190b0
test ebx, ebx
jne 0x5190b0
mov ebp, 0x18
mov esi, ebx
movzx ebx, byte [esp + 0x314]
test bl, bl
je 0x51aef2
mov ebx, 0x11
mov dword [esp + 0x70], ebx
movzx ebp, byte [esp + 0x301]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51aeba
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x51ae67
mov ebp, dword [esp + 0x74]
je 0x51ae23
mov dword [esp + 0xc4], ebx
test al, al
je 0x51ae06
xchg edi, eax
test al, al
xchg edi, eax
je 0x51adf5
xor eax, eax
test al, al
je 0x519363
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.004514a4
call fcn.0051b220
movzx eax, byte [esp + 0x24]
test al, al
je 0x51918f
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.004514a4
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.00407da0
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.00407e70
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00407da0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
lea edi, [esp + 0x250]
xor eax, eax
call fcn.00450fc6
lea eax, [0x659040]
mov dword [esp + 0x250], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x254], ecx
lea ecx, [0x67afe0]
mov dword [esp], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 4], ecx
call fcn.00407f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
lea eax, [0x68d020]
mov dword [esp], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 4], eax
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
lea eax, [0x659b80]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x26c], eax
lea eax, [0x659040]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x274], eax
lea eax, [0x6ae523]
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.004b9630
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407e70
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea edx, [0x704f00]
jmp 0x519173
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea ebp, [eax + ebx]
cmp ebp, eax
jge 0x51ade4
mov edx, 1
test dl, dl
jne 0x51ada4
mov edx, dword [esp + 0x2f8]
cmp ebp, edx
ja 0x51b1f2
cmp eax, ebp
ja 0x51b1eb
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 [0x8ad918], edi
je 0x51ab99
cmp dword [0x8ad908], edi
je 0x51a96d
cmp dword [0x8ad8f0], edi
je 0x51a704
cmp dword [0x8ad920], edi
je 0x51a4b3
cmp dword [0x8ad8f8], edi
je 0x51a3cc
cmp dword [0x8ad900], edi
je 0x51a329
cmp dword [0x8ad8e8], edi
je 0x51a1b1
nop
mov ecx, dword [esp + 0x2ec]
mov esi, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x51973b
cmp ecx, 1
jne 0x519538
cmp ebx, 1
jne 0x519503
movzx eax, byte [edx + eax]
test al, al
jne 0x5194be
xor eax, eax
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x519477
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.00481010
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc4]
jmp 0x51945b
cmp al, 0xff
jne 0x5194ce
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x519457
lea eax, [0x6a4994]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00407e70
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0x704f20]
xor edx, edx
jmp 0x519457
lea eax, [0x6a4994]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00407e70
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2ec]
lea eax, [0x704f20]
xor edx, edx
jmp 0x519457
cmp ecx, 2
jne 0x51968f
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.00481f50
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 0x519613
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.00516830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x5195cf
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.00481540
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x108]
jmp 0x5195ac
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.005165c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x51964c
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x5195ac
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.00481540
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x80]
jmp 0x519641
lea eax, [ecx - 5]
cmp eax, 1
jbe 0x519541
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.00481f50
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, [0x6a40d8]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043f6b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f00]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
cmp ecx, 0x17
je 0x519f3c
cmp ecx, 0x18
jne 0x519a28
mov eax, dword [esp + 0x70]
cmp eax, 0x13
jg 0x519972
cmp eax, 0xc
je 0x5198d6
cmp eax, 0x12
je 0x5198a3
cmp eax, 0x13
je 0x519870
mov dword [esp], eax
call fcn.00407da0
mov eax, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea ecx, [0x659040]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x6ade87]
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.004b9630
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407e70
mov eax, dword [esp + 8]
lea ecx, [0x704f20]
xor edx, edx
xor ebx, ebx
test ecx, ecx
je 0x519825
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.00481b10
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0xc8]
jmp 0x519802
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.005178a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x5197fe
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.005177d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x5197fe
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.0045ee90
movzx eax, byte [esp + 0xc]
test al, al
je 0x519944
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.0043f830
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 0x5197fe
nop
lea eax, [0x666840]
mov dword [esp], eax
call fcn.0040a500
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0x1a
lea eax, [0x6a91a9]
mov dword [ebx], eax
xor ecx, ecx
lea edx, [0x704720]
xor eax, eax
jmp 0x519933
cmp eax, 0x14
je 0x5199f0
cmp eax, 0x16
je 0x5199bd
cmp eax, 0x1b
jne 0x519775
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.0043f830
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
xor eax, eax
xor ecx, ecx
jmp 0x5197fe
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.00517a20
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x5197fe
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.0043f830
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
jmp 0x5197fe
cmp ecx, 0x19
jne 0x51969b
lea eax, [esp + 8]
mov dword [esp + 0x12c], eax
xor ecx, ecx
jmp 0x519a4b
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 0x519ae0
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.0045145e
mov eax, dword [esp + 0x2b8]
test eax, eax
je 0x519a40
lea eax, [0x6ac45c]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f00]
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 0x519ed1
xor eax, eax
test al, al
je 0x519c3f
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x51b1e1
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.0047fd60
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.00407ef0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8adfa8]
test cl, cl
je 0x519ec6
lea ecx, [0x65a780]
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x519eb6
mov dword [0x8adfb0], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x519eab
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x519c0e
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.00480f00
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 0x519c70
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 0x519e7a
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.0045145e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x519e73
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
cmp dword [0x8ad910], edx
je 0x519e4f
xor ecx, ecx
test cl, cl
je 0x519d14
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x64]
jmp 0x519c69
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.0047fd60
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, [0x6a1b92]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.0047a2f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0051b4b0
lea edi, [esp + 0x1f0]
mov esi, dword [esp + 0x124]
call fcn.004514a4
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.004514a4
call fcn.005183f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, ecx
jne 0x519e2c
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0x6c]
jmp 0x519c69
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 [0x8ad914]
mov dword [esp + 8], eax
call fcn.00402fc0
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x6c]
jmp 0x519cf9
xor ecx, ecx
jmp 0x519cf9
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 0x519c0e
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x519bdc
lea ecx, [0x65a780]
jmp 0x519bdc
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.0045145e
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
cmp dword [0x8ad910], ecx
je 0x519f1c
xor eax, eax
jmp 0x519b01
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x8ad914]
mov dword [esp + 8], eax
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
jmp 0x519b01
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 0x51a0cf
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.00482550
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.00480f00
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.00407ef0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8adfa8]
test cl, cl
je 0x51a0c4
lea ecx, [0x64b6c0]
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x51a0b4
mov dword [0x8adfb0], eax
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x51a0ac
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x51a04a
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.004821e0
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 0x51a04a
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x51a01c
lea ecx, [0x64b6c0]
jmp 0x51a01c
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.00517f90
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 0x51a162
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.00480f00
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x8c]
jmp 0x51a13f
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad8ec]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x51a1f9
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 0x519421
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.005169b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x51a24e
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 [0x8adfa8]
test bl, bl
je 0x51a31e
lea ebx, [0x6a0740]
mov dword [0x8adfac], ebx
mov ebp, dword [0x8c1190]
test ebp, ebp
jne 0x51a308
mov dword [0x8adfb0], 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 0x51a300
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x51a2bc
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.00480f00
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x84]
jmp 0x51a22b
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x51a2bc
lea edi, [0x8adfb0]
mov ebp, eax
mov eax, edx
call fcn.00450d20
mov eax, ebp
jmp 0x51a27e
lea ebx, [0x6a0740]
jmp 0x51a27e
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad904]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x51a371
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 0x519415
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.00481010
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 [0x8ad8fc]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x51a414
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 0x519409
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.00516830
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x51a469
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.00481540
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x90]
jmp 0x51a446
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad924]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x51a6e2
lea edi, [esp + 0x1a0]
xor eax, eax
call fcn.00450fcb
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x51a681
lea edi, [esp + 0x1dc]
call fcn.00450fcb
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.00517270
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.004514ae
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.004514ae
mov eax, dword [esp + 0x10c]
test edx, edx
je 0x51a589
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.004514ae
lea eax, [0x69ea20]
mov dword [esp], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 4], eax
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x51a679
nop
movzx edx, byte [0x8adfa8]
test dl, dl
je 0x51a5f2
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x51a669
mov dword [0x8adfb0], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x51a661
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x51a620
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.00480f00
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x78]
jmp 0x51a566
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51a620
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x51a5f2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51a620
lea edi, [esp + 0x1dc]
call fcn.00450fcb
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.005175b0
lea edi, [esp + 0x1dc]
mov esi, dword [esp + 0x140]
call fcn.004514ae
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x1a0]
mov esi, dword [esp + 0x140]
call fcn.004514ae
jmp 0x51a562
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 0x5193fd
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad8f4]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x51a94b
mov eax, dword [esp + 0x48]
test eax, eax
je 0x51a91e
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x2f0]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x51a8b2
lea eax, [0x6ac8f5]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00407e70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x704f20]
xor esi, esi
test ebp, ebp
je 0x51a7a7
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, [0x67efa0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x51a8aa
nop
movzx edx, byte [0x8adfa8]
test dl, dl
je 0x51a820
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x51a89a
mov dword [0x8adfb0], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x51a892
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x51a84e
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.00480f00
mov eax, dword [esp + 0xf8]
mov ebp, dword [esp + 0x94]
jmp 0x51a784
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51a84e
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x51a820
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51a84e
cmp eax, 1
jne 0x51a91a
test edx, edx
setg bl
test bl, bl
jne 0x51a758
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 0x51a758
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 0x51a780
xor ebx, ebx
jmp 0x51a8bc
lea eax, [0x6a791b]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00407e70
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea ebp, [0x704f20]
xor esi, esi
jmp 0x51a780
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 0x5193f1
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad90c]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x51a9b5
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 0x5193e5
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.00516eb0
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.00481f50
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.00482550
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.00480f00
mov eax, dword [esp + 0x88]
test eax, eax
je 0x51aabf
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.00407ef0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8adfa8]
test cl, cl
je 0x51ab8e
lea ecx, [0x66b520]
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x51ab81
mov dword [0x8adfb0], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x51ab79
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x51ab3c
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.004821e0
mov eax, dword [esp + 0x88]
jmp 0x51aa95
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51ab3c
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x51ab0e
lea ecx, [0x66b520]
jmp 0x51ab0e
mov dword [esp], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [0x8ad91c]
mov dword [esp + 8], ecx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x51ad82
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
ja 0x51b1e6
lea edi, [esp + 0x208]
lea esi, [0x707820]
call fcn.00451486
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.00451486
lea eax, [0x67fba0]
mov dword [esp], eax
lea eax, [esp + 0x22c]
mov dword [esp + 4], eax
call fcn.00407cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x51ad77
nop
movzx edx, byte [0x8adfa8]
test dl, dl
je 0x51accf
mov dword [0x8adfac], ecx
mov edx, dword [0x8c1190]
test edx, edx
jne 0x51ad67
mov dword [0x8adfb0], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x51ad5f
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x51acfd
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.00480f00
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 0x51acfd
lea edi, [0x8adfb0]
call fcn.00450d20
jmp 0x51accf
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x51acfd
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 0x5193d9
lea eax, [0x6a43fe]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f20]
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 0x51937b
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
setne al
jmp 0x519115
cmp ebp, esi
je 0x51ae1c
mov eax, 1
test al, al
jne 0x51911d
jmp 0x519109
cmp ebx, ecx
setne al
jmp 0x51ae0f
mov dword [esp + 0xb8], ebx
movzx ebx, byte [esp + 0x303]
test bl, bl
je 0x51ae5b
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x51ae4f
mov ebx, dword [ebx]
xor eax, eax
mov ebp, 3
jmp 0x5190fa
mov ebx, dword [esp + 0xb8]
jmp 0x5190fa
mov ebx, dword [esp + 0xb8]
jmp 0x5190fa
mov dword [esp + 0xb4], ebx
movzx ebx, byte [esp + 0x302]
test bl, bl
je 0x51aeaa
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x51ae9a
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov eax, 0
mov ebp, 1
jmp 0x5190f4
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x5190f0
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0xb4]
jmp 0x5190f0
mov edi, ebx
mov ebx, dword [esp + 0x308]
test ebx, ebx
je 0x51aee7
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 0x5190ea
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
jmp 0x5190dd
mov ebx, ebp
jmp 0x5190c7
cmp ebp, 0x12
je 0x51909b
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x51909d
cmp ebp, 0x14
je 0x51909b
cmp ebp, 0x16
je 0x51909b
cmp ebp, 0x1b
je 0x51909b
jmp 0x51af02
mov ebp, dword [esp + 0x30c]
test ebp, ebp
je 0x51af3e
mov ecx, dword [esp + 0x44]
jmp 0x51909d
mov ebp, ecx
jmp 0x51af35
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x51909d
mov eax, dword [esp + 0x50]
test eax, eax
je 0x51af5c
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, [0x6a646a]
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.004b9630
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f00]
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 [0x8ad91c]
mov dword [esp + 8], edx
call fcn.00402fc0
movzx eax, byte [esp + 0xc]
test al, al
je 0x51b07a
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 0x51901c
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 0x518ed2
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.004514a4
call fcn.0051b220
movzx eax, byte [esp + 0x24]
test al, al
je 0x51b113
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, [0x6ad98c]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00407e70
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc4]
lea edx, [0x704f00]
jmp 0x51b0f7
lea eax, [0x6a8aed]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00407e70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x318], ecx
lea ecx, [0x704f00]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], eax
add esp, 0x2e0
ret
mov eax, 2
jmp 0x518e6a
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 0x51901c
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 0x518504
call fcn.00450e00
call fcn.00450e00
mov ecx, ebp
call fcn.00450e00
mov ecx, ebp
call fcn.00450de0
mov ecx, esi
call fcn.00450e00
mov ecx, esi
mov edx, ebx
call fcn.00450de0
nop
call fcn.0044f4e0
jmp fcn.005183f0