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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2b8]
cmp eax, dword [ecx + 8]
jbe 0x57c7f2
sub esp, 0x338
mov eax, dword [esp + 0x344]
test eax, eax
je 0x579e74
test eax, 0x200
jne 0x579e74
lea ecx, [0x7cc4c4]
mov edx, dword [esp + 0x33c]
jmp 0x579ea5
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x344]
mov ebx, dword [esp + 0x34c]
mov ebp, dword [esp + 0x354]
cmp ebx, ebp
jne 0x579f56
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.00457234
call fcn.0057c800
movzx eax, byte [esp + 0x24]
test al, al
je 0x579ef8
xor eax, eax
xor ecx, ecx
jmp 0x579f33
lea eax, [0x76d786]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0x12
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, eax
lea eax, [0x7caba4]
mov edx, dword [esp + 0x354]
mov dword [esp + 0x370], edx
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
add esp, 0x338
ret
mov dword [esp + 0xa4], edx
mov dword [esp + 0x40], ecx
mov eax, dword [ecx + 0x50]
mov dword [esp], edx
call eax
cmp dword [esp + 4], 0x14
je 0x579f74
xor eax, eax
jmp 0x579f90
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
test al, al
je 0x57a6d3
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov ecx, dword [esp + 0x34c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x354]
mov dword [esp + 0xc], ebx
call fcn.005793d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x18]
movzx ebx, byte [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
test edi, edi
jne 0x57a6b0
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], esi
lea esi, [edx + eax]
cmp eax, esi
jg 0x57a657
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x34c]
cmp ebp, esi
jl 0x57a657
mov dword [esp + 0x88], esi
test bl, bl
jne 0x57a64e
mov ebx, dword [esp + 0x8c]
test ebx, ebx
jne 0x57a645
mov ebx, dword [esp + 0x350]
cmp ebx, esi
jb 0x57c7e8
cmp eax, esi
ja 0x57c7e1
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov dword [esp + 0x8c], ebx
mov eax, esi
mov esi, dword [esp + 0x348]
add ebx, esi
mov esi, dword [esp + 0x90]
cmp esi, 0x12
jg 0x57a3d6
cmp esi, 4
jle 0x57a1cd
cmp esi, 6
je 0x57a165
cmp esi, 0xc
je 0x57a0ad
cmp esi, 0x12
jne 0x57a4b0
xor ecx, ecx
jmp 0x57c72f
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x48], edx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00469a80
movzx eax, byte [esp + 0xc]
test al, al
je 0x57a0fe
mov dword [esp], 0
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x57a12b
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x7713ef]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x7ca6cc]
mov ebx, eax
xor eax, eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xcc], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004090a0
mov eax, dword [esp + 8]
lea edx, [0x7345e0]
mov edi, dword [esp + 0x58]
mov ebx, eax
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.005787c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00409120
mov eax, dword [esp + 0xc]
lea edx, [0x740c20]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
cmp esi, 2
je 0x57a376
cmp esi, 3
jne 0x57a329
test edx, edx
je 0x57a285
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0x8c]
movzx ecx, byte [edi + esi]
movzx esi, cl
cmp esi, 7
jg 0x57a21f
cmp edx, 1
jne 0x57a20a
test esi, esi
jne 0x57a21f
movzx edi, byte [edx + ebx - 1]
mov eax, 1
shl eax, cl
dec eax
xchg edi, ebx
test al, bl
xchg edi, ebx
je 0x57a262
lea eax, [0x774a66]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], 0x22
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004090a0
mov eax, dword [esp + 8]
xor esi, esi
xor edx, edx
xor ecx, ecx
lea ebx, [0x7caba4]
xor ebp, ebp
jmp 0x57a2c6
lea ecx, [edx - 1]
mov edx, ecx
shl ecx, 3
sub ecx, esi
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
mov ebp, ebx
xor eax, eax
xor ebx, ebx
jmp 0x57a2c6
lea eax, [0x76f694]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], 0x16
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004090a0
mov eax, dword [esp + 8]
xor esi, esi
xor edx, edx
xor ecx, ecx
lea ebx, [0x7caba4]
xor ebp, ebp
mov dword [esp + 0xc8], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1d0], ecx
lea ecx, [0x74f260]
mov dword [esp], ecx
lea edx, [esp + 0x1c4]
mov dword [esp + 4], edx
call fcn.00408e50
mov eax, dword [esp + 8]
lea edx, [0x74f260]
mov edi, dword [esp + 0x54]
mov ebx, eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
cmp esi, 4
jne 0x57a4b0
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x84], edi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00409120
mov eax, dword [esp + 0xc]
lea edx, [0x72cfa0]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00577ef0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00408ff0
mov eax, dword [esp + 8]
lea edx, [0x734020]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
cmp esi, 0x16
jg 0x57a49d
cmp esi, 0x13
je 0x57a43d
cmp esi, 0x14
je 0x57a3f9
cmp esi, 0x16
jne 0x57a4b0
xor ecx, ecx
jmp 0x57c688
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004090a0
mov eax, dword [esp + 8]
lea edx, [0x7345e0]
xor edi, edi
mov ebx, eax
xor ecx, ecx
mov eax, dword [esp + 0x88]
jmp 0x57c67c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.005790f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xf8], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004090a0
mov eax, dword [esp + 8]
lea edx, [0x7345e0]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
cmp esi, 0x17
je 0x57a5af
cmp esi, 0x18
je 0x57a519
cmp esi, 0x1e
je 0x57a4b9
xor edx, edx
xor ebx, ebx
jmp 0x57c67c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00579200
mov eax, dword [esp + 0x14]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.004090a0
mov eax, dword [esp + 8]
lea edx, [0x7345e0]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
lea edi, [esp + 0x224]
xor eax, eax
call fcn.00456d5b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00578f00
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xf8], edx
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045723e
lea edi, [esp + 0x1fc]
lea esi, [esp + 0x224]
call fcn.0045723e
lea ecx, [0x766340]
mov dword [esp], ecx
lea ecx, [esp + 0x1fc]
mov dword [esp + 4], ecx
call fcn.00408e50
mov eax, dword [esp + 8]
lea edx, [0x766340]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
lea edi, [esp + 0x224]
xor eax, eax
call fcn.00456d5b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00578c20
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xf8], edx
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045723e
lea edi, [esp + 0x210]
lea esi, [esp + 0x224]
call fcn.0045723e
lea ecx, [0x766340]
mov dword [esp], ecx
lea ecx, [esp + 0x210]
mov dword [esp + 4], ecx
call fcn.00408e50
mov eax, dword [esp + 8]
lea edx, [0x766340]
mov edi, dword [esp + 0x84]
mov ebx, eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x88]
jmp 0x57c67c
xor eax, eax
xor edx, edx
jmp 0x57c56f
xor eax, eax
xor edx, edx
jmp 0x57c56f
lea eax, [0x76be27]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 0xe
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x370], ecx
lea ecx, [0x7caba4]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
add esp, 0x338
ret
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov ecx, dword [esp + 0x34c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x354]
mov dword [esp + 0xc], ebx
call fcn.005793d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
mov byte [esp + 0xa0], dl
test esi, esi
jne 0x57beea
movzx eax, byte [esp + 0x359]
test al, al
je 0x57aad2
movzx eax, byte [esp + 0x35a]
test al, al
je 0x57a772
mov eax, 1
jmp 0x57a777
mov eax, 2
mov dword [esp + 0x90], ecx
mov ebx, dword [esp + 0x34c]
cmp ebx, ecx
je 0x57aa76
mov dword [esp + 0xf4], edi
mov dword [esp + 0x84], esi
cmp dword [esp + 0x94], eax
jne 0x57a9c5
mov eax, dword [esp + 0x360]
mov ebp, dword [esp + 0x98]
cmp dword [eax], ebp
jne 0x57a9c5
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x57a7d1
test dl, dl
je 0x57a9c5
mov eax, dword [0x8da44c]
mov edx, dword [esp + 0x40]
cmp dword [0x8da448], edx
jne 0x57a836
mov dword [esp], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x57a81d
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
jmp 0x57aad4
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x34c]
mov edi, dword [esp + 0xf4]
mov eax, dword [esp + 0x9c]
test eax, eax
jg 0x57a92a
mov eax, dword [0x8da41c]
cmp dword [0x8da418], edx
jne 0x57a873
mov dword [esp], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
jne 0x57a8cf
lea eax, [0x778283]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0x2d
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x370], ecx
lea ecx, [0x7cabb8]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.00485f20
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.005793d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebx
xchg ebp, eax
mov byte [esp + 0xa0], al
xchg ebp, eax
test esi, esi
jne 0x57a9a2
mov eax, dword [esp + 0x90]
jmp 0x57aad4
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.00457234
call fcn.0057c800
movzx eax, byte [esp + 0x24]
test al, al
je 0x57aa1a
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
jmp 0x57aa5a
lea eax, [0x775bb2]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], 0x25
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.004090a0
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x90]
lea ecx, [0x7cabb8]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edi
add esp, 0x338
ret
lea eax, [0x770c29]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], 0x19
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x370], ecx
lea ecx, [0x7cabb8]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, ecx
mov dword [esp + 0xf8], edi
mov dword [esp + 0x84], esi
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
call fcn.0057d150
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x11]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 8]
test cl, cl
je 0x57be2c
cmp eax, 0x13
jne 0x57ab6d
mov ebp, dword [esp + 0x94]
test ebp, ebp
jne 0x57ab5b
mov ebp, dword [esp + 0x98]
cmp ebp, 0x14
jg 0x57ab45
cmp ebp, 0xc
je 0x57ab6f
cmp ebp, 0x12
je 0x57ab6f
cmp ebp, 0x14
je 0x57ab6f
jmp 0x57ab54
cmp ebp, 0x16
je 0x57ab6f
cmp ebp, 0x1b
je 0x57ab6f
cmp ebp, 0x1e
je 0x57ab6f
mov ebp, 0x13
jmp 0x57ab6f
mov ebp, dword [esp + 0x364]
test ebp, ebp
jne 0x57ab6f
mov ebp, 0x13
jmp 0x57ab6f
mov ebp, eax
cmp ebp, 0x17
jne 0x57ab96
cmp dword [esp + 0x98], 0x18
jne 0x57ab92
mov eax, ebx
mov ebx, dword [esp + 0x94]
test ebx, ebx
jne 0x57ab98
mov ebp, 0x18
jmp 0x57ab98
mov eax, ebx
jmp 0x57ab98
mov eax, ebx
movzx ebx, byte [esp + 0x36c]
test bl, bl
je 0x57aba9
mov ebp, 0x11
movzx ebx, byte [esp + 0x359]
test bl, bl
je 0x57abc0
mov ecx, ebp
mov esi, eax
mov edi, 0
jmp 0x57abeb
mov ecx, ebp
mov ebp, dword [esp + 0x360]
test ebp, ebp
je 0x57abe0
mov ebp, dword [ebp]
test bl, bl
mov esi, eax
mov edi, 2
mov eax, 0
jmp 0x57abeb
test bl, bl
mov esi, eax
mov edi, 0
mov ebp, ecx
jne 0x57ac29
mov dword [esp + 0x4c], ebp
movzx ebp, byte [esp + 0x35a]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x57ac23
mov ebp, dword [esp + 0x360]
test ebp, ebp
je 0x57ac1b
mov ebp, dword [ebp]
test bl, bl
mov edi, 1
mov eax, 0
jmp 0x57ac29
test bl, bl
mov ebp, dword [esp + 0x4c]
jmp 0x57ac29
test bl, bl
mov ebp, dword [esp + 0x4c]
jne 0x57ac4b
movzx ebx, byte [esp + 0x35b]
test bl, bl
je 0x57ac4b
mov ebx, dword [esp + 0x360]
test ebx, ebx
je 0x57ac4b
mov ebp, dword [ebx]
xor eax, eax
mov edi, 3
mov dword [esp + 0x4c], ebp
test al, al
jne 0x57ac6d
cmp dword [esp + 0x94], edi
jne 0x57bc3d
cmp dword [esp + 0x98], ebp
jne 0x57bc3d
xchg esi, eax
test al, al
xchg esi, eax
jne 0x57ac80
cmp byte [esp + 0xa0], dl
jne 0x57bc3d
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0x74]
lea ebp, [eax + ebx]
cmp eax, ebp
jg 0x57bbe4
mov esi, dword [esp + 0x34c]
cmp esi, ebp
jl 0x57bbe4
mov edx, dword [esp + 0x350]
cmp edx, ebp
jb 0x57c568
cmp eax, ebp
ja 0x57c561
mov dword [esp + 0x44], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
call fcn.00483a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00484ee0
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x74]
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x348]
lea ebp, [ecx + eax]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xb8], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
test esi, esi
je 0x57b3a1
mov dword [esp + 0xac], edx
mov edx, dword [esi + 8]
cmp edx, 0xabce3293
ja 0x57afd0
cmp edx, 0x2a463e92
jne 0x57ae03
lea eax, [0x729f00]
cmp edi, eax
jne 0x57b3a1
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00578180
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x57ade0
mov ecx, dword [esp + 0xb0]
mov dword [ecx], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp edx, 0x83902a09
jne 0x57af4b
lea edx, [0x73fea0]
cmp edi, edx
jne 0x57b3a1
mov edx, dword [esp + 0x44]
test edx, edx
je 0x57aebe
mov esi, dword [esp + 0x348]
movzx ecx, byte [ecx + esi]
movzx esi, cl
cmp esi, 7
jg 0x57ae5c
cmp edx, 1
jne 0x57ae45
test esi, esi
jne 0x57ae5c
mov eax, ebp
movzx ebp, byte [edx + ebp - 1]
mov edi, ebx
mov ebx, 1
shl ebx, cl
dec ebx
xchg ebp, eax
test bl, al
xchg ebp, eax
je 0x57ae9f
lea eax, [0x774a66]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0x22
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004090a0
mov eax, dword [esp + 8]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
xor ecx, ecx
lea esi, [0x7caba4]
jmp 0x57aeff
lea ecx, [edx - 1]
mov edx, ecx
shl ecx, 3
sub ecx, esi
lea ebx, [edi - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, eax
xor esi, esi
xor eax, eax
jmp 0x57aeff
lea eax, [0x76f694]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], 0x16
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004090a0
mov eax, dword [esp + 8]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
xor ecx, ecx
lea esi, [0x7caba4]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57af1d
mov dword [edi], ebx
jmp 0x57af28
mov ecx, eax
mov eax, ebx
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x370], ecx
mov dword [esp + 0x374], esi
mov dword [esp + 0x378], eax
add esp, 0x338
ret
cmp edx, 0xabce3293
jne 0x57b3a1
lea eax, [0x73ff00]
cmp edi, eax
jne 0x57b3a1
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005787c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57afa8
mov dword [edi], eax
jmp 0x57afad
call fcn.00456ac0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebx
mov dword [esp + 0x378], ebp
add esp, 0x338
ret
cmp edx, 0xe622f7ec
ja 0x57b0b5
cmp edx, 0xcf2ee019
jne 0x57b02d
lea eax, [0x729f40]
cmp edi, eax
jne 0x57b3a1
mov eax, dword [esp + 0xac]
mov byte [eax], 1
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
cmp edx, 0xe622f7ec
jne 0x57b3a1
lea edx, [0x7259c0]
cmp edi, edx
jne 0x57b3a1
mov dword [esp + 0xa8], eax
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00578330
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x57b092
mov edi, dword [esp + 0xa8]
test byte [edi], al
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57b08d
mov dword [edi], eax
jmp 0x57b092
call fcn.00456ac0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp edx, 0xf48991ed
jne 0x57b1e3
lea edx, [0x729fc0]
cmp edi, edx
jne 0x57b3a1
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x90]
cmp eax, ecx
ja 0x57c55c
lea edi, [esp + 0x250]
mov edx, eax
xor eax, eax
call fcn.00456d57
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x254], ecx
movzx ecx, byte [esp + 0xa0]
mov byte [esp + 0x258], cl
mov dword [esp + 0x25c], ebp
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], ebx
mov ecx, dword [esp + 0x350]
sub ecx, edx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
mov ebp, dword [esp + 0x348]
add ecx, ebp
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x90]
mov ebp, ecx
sub ecx, edx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x270], ebx
mov edi, dword [esp + 0xc0]
test byte [edi], al
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57b195
lea esi, [esp + 0x250]
call fcn.00457216
jmp 0x57b1b9
lea eax, [0x750560]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x250]
mov dword [esp + 8], eax
call fcn.0040fcb0
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x370], ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
cmp edx, 0xfdcfc02b
jne 0x57b3a1
lea edx, [0x767520]
cmp edi, edx
jne 0x57b3a1
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x17
jne 0x57b2d7
lea edi, [esp + 0x224]
xor eax, eax
call fcn.00456d5b
mov dword [esp], ebp
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00578c20
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045723e
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x224]
call fcn.0045723e
mov edi, dword [esp + 0xb4]
test byte [edi], al
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57b282
lea esi, [esp + 0x1e8]
call fcn.0045723e
jmp 0x57b2ad
mov dword [esp + 0xf4], edx
lea eax, [0x766340]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1e8]
mov dword [esp + 8], eax
call fcn.0040fcb0
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
add esp, 0x338
ret
lea edi, [esp + 0x224]
xor eax, eax
call fcn.00456d5b
mov dword [esp], ebp
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00578f00
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045723e
lea edi, [esp + 0x1d4]
lea esi, [esp + 0x224]
call fcn.0045723e
mov edi, dword [esp + 0xb4]
test byte [edi], al
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x57b34c
lea esi, [esp + 0x1d4]
call fcn.0045723e
jmp 0x57b377
mov dword [esp + 0xf4], edx
lea eax, [0x766340]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1d4]
mov dword [esp + 8], eax
call fcn.0040fcb0
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
add esp, 0x338
ret
mov dword [esp + 0x88], ebx
mov dword [esp + 0xd8], ebp
nop
nop
mov eax, dword [esp + 0x344]
mov edx, eax
and eax, 0x1f
cmp eax, 6
jbe 0x57b878
cmp eax, 0x17
je 0x57b60b
cmp eax, 0x18
jne 0x57b5f8
mov eax, dword [esp + 0x8c]
cmp eax, 0x13
jg 0x57b4ae
cmp eax, 0xc
je 0x57b42f
cmp eax, 0x12
jne 0x57b3fd
mov eax, dword [esp + 0x44]
xor ecx, ecx
jmp 0x57c4d9
cmp eax, 0x13
jne 0x57b503
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005790f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x57c3ef
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00469a80
movzx eax, byte [esp + 0xc]
test al, al
je 0x57b47c
mov dword [esp], 0
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x57c3ef
lea eax, [0x73caa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x7713ef]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x7ca6cc]
mov ebx, eax
xor eax, eax
jmp 0x57c3ef
cmp eax, 0x16
jg 0x57b4f1
cmp eax, 0x14
je 0x57b4c8
cmp eax, 0x16
jne 0x57b503
mov eax, dword [esp + 0x44]
xor ecx, ecx
jmp 0x57c460
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x57c3ef
cmp eax, 0x1b
je 0x57b5cf
cmp eax, 0x1e
je 0x57b5a6
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov dword [esp], eax
call fcn.00408f90
mov eax, dword [esp + 4]
lea ecx, [0x733f60]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], eax
lea eax, [0x7761fc]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x1bc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a7740
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004090a0
mov ebx, dword [esp + 8]
lea edx, [0x7caba4]
xor ecx, ecx
xor eax, eax
jmp 0x57c3ef
mov dword [esp], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00579200
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x57c3ef
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x57c3ef
cmp eax, 0x19
jne 0x57b604
xor eax, eax
jmp 0x57bf14
test edx, edx
jmp 0x57bb16
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
call ecx
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 0x57b794
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.00486d90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x340]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x344]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00485e10
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00409120
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8da5c8]
test cl, cl
je 0x57b6f6
lea ecx, [0x72cfa0]
mov dword [0x8da5cc], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x57b6e9
mov dword [0x8da5d0], eax
jmp 0x57b6fc
lea edi, [0x8da5d0]
call fcn.00456ac0
jmp 0x57b6fc
lea ecx, [0x72cfa0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x57b72c
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x57b732
or edx, 0x80
jmp 0x57b732
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x340]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486a60
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.005799e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
test ebx, ebx
jne 0x57b855
mov dword [esp + 0xe0], esi
mov dword [esp + 0xf8], ebp
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x340]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00485e10
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebp
mov dword [esp + 0x378], esi
add esp, 0x338
ret
cmp eax, 1
jne 0x57b99e
mov eax, dword [esp + 0x44]
cmp eax, 1
jne 0x57b8fd
mov eax, dword [esp + 0x348]
movzx eax, byte [ecx + eax]
test al, al
jne 0x57b8a4
xor eax, eax
xor ecx, ecx
xor ebx, ebx
jmp 0x57b93f
cmp al, 0xff
jne 0x57b8b7
mov eax, 1
xor ecx, ecx
xor ebx, ebx
jmp 0x57b93f
lea eax, [0x76c43b]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], 0xf
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004090a0
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x344]
lea ecx, [0x7caba4]
mov ebx, eax
xor eax, eax
jmp 0x57b93f
lea eax, [0x76c43b]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], 0xf
mov eax, dword [esp + 0x144]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004090a0
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x344]
lea ecx, [0x7caba4]
xor eax, eax
test ecx, ecx
jne 0x57b97b
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
call fcn.00485f20
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp eax, 2
jne 0x57b9a7
test edx, edx
jmp 0x57b9b2
cmp eax, 5
jb 0x57bb14
test edx, edx
je 0x57b9cb
test edx, 0x200
jne 0x57b9cb
lea eax, [0x7cc4c4]
mov ecx, dword [esp + 0x33c]
jmp 0x57b9f1
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00486640
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 0x57ba84
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00578180
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x57baf1
mov dword [esp + 0xe8], edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 8], ecx
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.00485fe0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xe8]
jmp 0x57baf1
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00577ef0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x57baed
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
call fcn.00485fe0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xe4]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edx
add esp, 0x338
ret
test edx, edx
je 0x57bb2f
test edx, 0x200
jne 0x57bb2f
lea eax, [0x7cc4c4]
mov ecx, dword [esp + 0x33c]
jmp 0x57bb55
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00486640
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, [0x76ba58]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00445480
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x370], ecx
lea ecx, [0x7cabb8]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
lea eax, [0x76be27]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0xe
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x370], ecx
lea ecx, [0x7caba4]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.00457234
call fcn.0057c800
movzx eax, byte [esp + 0x24]
test al, al
je 0x57bc95
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0xf8]
jmp 0x57be10
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], ecx
lea edi, [esp + 0x274]
xor eax, eax
call fcn.00456d56
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00408f90
mov eax, dword [esp + 4]
lea ecx, [0x733f60]
mov dword [esp + 0x274], ecx
mov dword [esp + 0x278], eax
lea eax, [0x74cfe0]
mov dword [esp], eax
lea edx, [esp + 0x94]
mov dword [esp + 4], edx
call fcn.00408eb0
mov eax, dword [esp + 8]
lea ecx, [0x74cfe0]
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x280], eax
lea eax, [0x758480]
mov dword [esp], eax
lea ecx, [esp + 0x358]
mov dword [esp + 4], ecx
call fcn.00408e50
mov eax, dword [esp + 8]
lea ecx, [0x758480]
mov dword [esp + 0x284], ecx
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
call fcn.004090a0
mov eax, dword [esp + 8]
lea ecx, [0x7345e0]
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00408f90
mov eax, dword [esp + 4]
lea ecx, [0x733f60]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
lea eax, [0x7768c1]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x274]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004a7740
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004090a0
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x74]
lea ecx, [0x7cabb8]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x57be4f
mov ecx, dword [eax + 4]
jmp 0x57be51
mov ecx, eax
mov dword [esp + 0x1bc], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c0], eax
lea eax, [0x76e019]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1bc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a7740
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x370], ecx
lea ecx, [0x7cabb8]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov dword [esp + 0x370], ecx
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x64]
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x57bfda
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x304]
lea esi, [esp + 8]
call fcn.004571ee
lea edi, [esp + 0x29c]
lea esi, [esp + 0x304]
call fcn.004571ee
mov eax, dword [esp + 0x2a8]
test eax, eax
je 0x57bf0d
lea eax, [0x774504]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], 0x21
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.004090a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x370], ecx
lea ecx, [0x7cabb8]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x57bff9
xor eax, eax
jmp 0x57c059
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x304]
lea esi, [esp + 8]
call fcn.004571ee
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x318]
mov edx, dword [0x8da424]
cmp dword [0x8da420], eax
je 0x57c044
xor eax, eax
jmp 0x57c059
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00404110
movzx eax, byte [esp + 0xc]
test al, al
je 0x57c1a8
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x90]
cmp eax, ecx
ja 0x57c3ea
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00484c40
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x354]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x348]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xf0], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xec], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x80], esi
mov dword [esp], eax
mov eax, dword [esp + 0x90]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00409120
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8da5c8]
test cl, cl
je 0x57c13b
lea ecx, [0x7350e0]
mov dword [0x8da5cc], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x57c12e
mov dword [0x8da5d0], eax
jmp 0x57c141
lea edi, [0x8da5d0]
call fcn.00456ac0
jmp 0x57c141
lea ecx, [0x7350e0]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x57c171
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x57c177
or edx, 0x80
jmp 0x57c177
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00485e10
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xf8]
jmp 0x57c1c9
mov ebp, dword [esp + 0x64]
inc ebp
mov ebx, edx
mov edx, ecx
mov ecx, eax
mov eax, ebp
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], ecx
mov ebp, dword [esp + 0x40]
mov esi, dword [ebp + 0x64]
mov edi, dword [esp + 0xa4]
mov dword [esp], edi
call esi
mov eax, dword [esp + 0x64]
cmp dword [esp + 4], eax
jle 0x57c3b9
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2d0]
lea esi, [esp + 8]
call fcn.004571ee
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x57c26c
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2e4]
mov ebx, dword [0x8da424]
cmp dword [0x8da420], ecx
je 0x57c24f
xor ecx, ecx
jmp 0x57c26e
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00404110
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x64]
jmp 0x57c26e
xor ecx, ecx
test cl, cl
je 0x57c289
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xf8]
jmp 0x57c1bc
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00484c40
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xec], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x2e8]
mov ebp, dword [esp + 0x2ec]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x769a71]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.00481030
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0057cc80
lea edi, [esp + 0x238]
lea esi, [esp + 8]
call fcn.00457234
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c]
lea esi, [esp + 0x238]
call fcn.00457234
call fcn.00579e30
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
test ecx, ecx
je 0x57c1bc
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebx
mov dword [esp + 0x378], edx
add esp, 0x338
ret
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
call fcn.00456ba0
test edx, edx
jne 0x57c43c
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x33c]
mov dword [esp], edx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004861d0
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
inc ecx
cmp ecx, eax
jge 0x57c4ab
lea ebx, [ecx + ebp]
cmp byte [ebx], 0x80
jb 0x57c45f
lea eax, [0x77542d]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0x24
mov eax, dword [esp + 0x124]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.004090a0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x7caba4]
xor ebx, ebx
jmp 0x57c4cd
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x57c3ef
inc ecx
cmp ecx, eax
jge 0x57c52f
movzx ebx, byte [ecx + ebp]
lea esi, [ebx - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x57c4d8
cmp bl, 0x20
je 0x57c4d8
lea eax, [0x776a9a]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], 0x28
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.004090a0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x7caba4]
xor ebx, ebx
jmp 0x57c551
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x57c3ef
call fcn.00456ba0
mov ecx, ebp
call fcn.00456ba0
mov ecx, ebp
call fcn.00456b80
test edi, edi
jne 0x57c660
test eax, eax
je 0x57c644
nop
movzx ebx, byte [0x8da5c8]
test bl, bl
je 0x57c5b8
mov dword [0x8da5cc], eax
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x57c5a3
mov dword [0x8da5d0], edx
jmp 0x57c5b8
mov ebx, edi
lea edi, [0x8da5d0]
mov ebp, eax
mov eax, edx
call fcn.00456ac0
mov eax, ebp
mov edi, ebx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x84], edi
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x57c5f8
nop
movzx ebx, byte [eax + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x57c5fe
or ebx, 0x80
jmp 0x57c5fe
xor ebx, ebx
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.00485e10
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x370], esi
mov dword [esp + 0x374], edi
mov dword [esp + 0x378], ecx
add esp, 0x338
ret
mov dword [esp + 0x370], esi
mov dword [esp + 0x374], edi
mov dword [esp + 0x378], ecx
add esp, 0x338
ret
mov esi, eax
mov eax, edx
mov edx, ebx
jmp 0x57c56f
inc ecx
cmp ecx, edx
jge 0x57c6d4
lea ebp, [ecx + ebx]
cmp byte [ebp], 0x80
jb 0x57c687
lea eax, [0x77542d]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0x24
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.004090a0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x7caba4]
xor ebx, ebx
jmp 0x57c6f6
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x5c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004090a0
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x88]
lea edx, [0x7345e0]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0xd0]
jmp 0x57c67c
inc ecx
cmp ecx, edx
jge 0x57c787
movzx ebp, byte [ecx + ebx]
lea esi, [ebp - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x57c72e
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x57c72e
lea eax, [0x776a9a]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x28
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.004090a0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x7caba4]
xor ebx, ebx
jmp 0x57c7a9
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x60], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004090a0
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x88]
lea edx, [0x7345e0]
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0xd4]
jmp 0x57c67c
mov ecx, esi
call fcn.00456ba0
mov ecx, esi
mov edx, ebx
call fcn.00456b80
nop
call fcn.00455690
jmp fcn.00579e30