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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x100]
cmp eax, dword [ecx + 8]
jbe 0x5a0eb3
sub esp, 0x180
mov eax, 0
lea edi, [esp + 0x130]
call fcn.0044cad8
mov eax, dword [esp + 0x188]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x190]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.0059e0a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test edx, edx
jne 0x5a0d6e
test eax, eax
jne 0x5a0c68
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x128], esi
mov eax, ebx
and ebx, 0x1f
mov dword [esp + 0xa4], ebx
cmp ebx, 0x14
je 0x5a0b2a
cmp ebx, 0x15
je 0x5a086b
cmp ebx, 0x19
jne 0x5a077a
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x124], edx
mov edi, dword [ecx + 0x3c]
mov dword [esp + 0xa0], edi
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x120], edx
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x9c], edx
lea edx, [ecx + 0x40]
mov dword [esp + 0x11c], edx
lea edi, [ecx + 0x38]
mov dword [esp + 0x118], edi
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0xbc], eax
jmp 0x59f72d
mov eax, dword [esp + 0x74]
lea esi, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x7c]
mov eax, edi
mov edx, dword [esp + 0x68]
mov edi, ebx
mov ebx, dword [esp + 0x64]
cmp esi, eax
jge 0x5a063f
jae 0x5a0e9e
mov dword [esp + 0x74], esi
mov dword [esp + 0x100], edi
imul eax, esi, 0x34
mov dword [esp + 0x94], eax
mov edi, dword [ecx + eax + 0x10]
mov esi, dword [ecx + eax + 0xc]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call fcn.00402190
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xf8]
lea edx, [ecx + eax]
movzx ebx, byte [esp + 0x18]
test bl, bl
jne 0x59f203
mov ebx, dword [esp + 0x100]
test ebx, ebx
jne 0x59f0f9
mov dword [esp + 0xfc], edx
mov edx, dword [ecx + eax + 0x14]
mov ebx, dword [ecx + eax + 8]
mov ebp, dword [ecx + eax + 0xc]
mov eax, dword [ecx + eax + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x14], ebp
mov esi, dword [edx]
call esi
movzx eax, byte [esp + 0x18]
test al, al
je 0x59f1f0
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xfc]
jmp 0x59f0f9
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x100]
jmp 0x59f0f9
test edx, edx
je 0x5a055c
mov dword [esp + 0x114], edx
movzx ecx, byte [edx + 0x31]
mov byte [esp + 0x2f], cl
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x110], ebx
mov ebp, dword [edx + 0x20]
mov dword [esp + 0x94], ebp
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x128]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xac]
jmp 0x59f2b2
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.004a50b0
mov eax, dword [esp + 0x90]
inc eax
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], eax
mov eax, ecx
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x90]
cmp edx, ebp
jge 0x5a054c
mov dword [esp + 0x40], esi
mov ecx, dword [ebx + edx*4]
mov dword [esp + 0x78], ecx
and esi, 0x1f
cmp esi, 0x16
jne 0x5a0541
lea ebx, [esi - 0x15]
cmp ebx, 1
ja 0x5a04fa
mov ebx, dword [esp + 0x40]
test ebx, 0x200
je 0x59f311
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004a4f30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
jmp 0x59f25c
test ebx, 0x80
je 0x5a04f3
mov esi, dword [eax]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x59f2f0
mov esi, ebx
and ebx, 0x160
cmp ebx, 0x100
jne 0x59f3d8
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], eax
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8ff0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004a7300
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0xc0]
jmp 0x59f2f0
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x59f407
mov ecx, dword [ecx + 4]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
lea eax, [0x7a8bc5]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x160]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x184]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0059da90
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd4], ebx
mov byte [esp + 0x2f], al
mov ebp, dword [esp + 0x114]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x184]
mov dword [ecx + 0x44], esi
mov esi, dword [0xa8f2d0]
test esi, esi
jne 0x5a04e0
mov dword [ecx + 0x40], ebp
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x60]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x184]
mov dword [edx + 0x3c], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a04cd
mov dword [edx + 0x38], ecx
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0xc8]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x5c], esi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], ebp
mov byte [esp + 0x2f], al
mov dword [esp + 0x50], ecx
mov esi, dword [edx + 0x10]
cmp esi, 9
je 0x5a0493
mov esi, dword [edx + 0x10]
cmp esi, 3
jne 0x5a0472
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.0059dcf0
movzx eax, byte [esp + 0x2f]
test al, al
je 0x5a0415
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call fcn.0059df70
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
test edx, edx
jne 0x5a0400
test eax, eax
je 0x5a0380
mov ecx, dword [eax + 8]
cmp ecx, 0xe0ff5cb4
jne 0x59f5f6
lea ecx, [0x730dc0]
cmp ecx, eax
jne 0x5a0371
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
je 0x5a02e3
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x59f627
mov eax, dword [eax + 4]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea eax, [0x7aa82c]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5080
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x184]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0059da90
mov eax, dword [esp + 0xa4]
cmp eax, 0x15
je 0x59f90d
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x10]
cmp edx, 9
je 0x59f8ea
mov edx, dword [ecx + 0x10]
cmp edx, 5
je 0x59f8cd
cmp edx, 4
jne 0x59f8ac
mov edx, dword [esp + 0xa0]
mov dword [ecx + 0x3c], edx
mov ebx, dword [esp + 0x9c]
mov dword [ecx + 0x44], ebx
mov ebp, dword [0xa8f2d0]
test ebp, ebp
jne 0x59f86f
mov ebp, dword [esp + 0x120]
mov dword [ecx + 0x38], ebp
mov esi, dword [esp + 0x124]
mov dword [ecx + 0x40], esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0xc8], edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0xbc], edi
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.0059dcf0
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x59f8cd
cmp ecx, 1
jne 0x5a0759
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0059dcf0
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 0xc]
dec ebx
test ebx, ebx
jl 0x5a0ea5
mov ebp, dword [esp + 0x98]
lea esi, [ebp - 1]
cmp esi, ebx
ja 0x5a0ea5
cmp ebx, ecx
ja 0x5a0ea5
sub ecx, esi
mov dword [esp + 0x70], ecx
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ecx, edx
mov dword [esp + 0xf4], ecx
mov dword [esp], ecx
sub ebx, esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.005a3df0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test al, al
je 0x5a0738
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0xa4]
cmp eax, 0x15
je 0x5a0646
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005aa6a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0xf0]
xor esi, esi
xor edi, edi
jmp 0x59f11f
mov edi, dword [esp + 0x118]
mov ebp, eax
mov eax, dword [esp + 0x120]
call fcn.0044c9e0
mov edi, dword [esp + 0x11c]
mov eax, dword [esp + 0x124]
call fcn.0044c9e0
mov eax, ebp
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x124]
jmp 0x59f709
mov eax, dword [0xa7cf54]
mov ecx, dword [0xa7cf50]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x180
ret
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.0059dcf0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x184]
jmp 0x59f6be
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp eax, 0x18
jne 0x59fabd
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x170], eax
lea eax, [0x719580]
mov dword [esp], eax
lea ecx, [esp + 0x168]
mov dword [esp + 4], ecx
call fcn.004075f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x59fab2
movzx edx, byte [0xa7d7a8]
test dl, dl
je 0x59f9dc
mov dword [0xa7d7ac], ecx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x59faa2
mov dword [0xa7d7b0], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x59fa97
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x59fa0d
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.004a93b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebp, dword [esp + 0x12c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
call fcn.004a7940
mov eax, dword [esp + 0xa4]
jmp 0x59f6ab
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x59fa0d
lea edi, [0xa7d7b0]
call fcn.0044c9e0
jmp 0x59f9dc
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x59fa0d
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.0049ef90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [0xa7cf70]
mov ebx, dword [0xa7cf74]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 0xc]
test al, al
je 0x59fc01
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a8ff0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x108], edx
mov ebx, dword [esp + 0x184]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov byte [esp + 0x1c], 1
call fcn.005a10a0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x59fbec
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.004a4f30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x59fa3c
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x180
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x59ff6e
add eax, 0xfffffff9
cmp eax, 5
ja 0x5a0e84
mov dword [esp], 0
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.0043be60
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe0], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00452d30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x59fe33
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.004a8f30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
and eax, 0x1f
lea edx, [eax - 7]
cmp edx, 5
ja 0x59ff27
mov eax, dword [ecx]
shl eax, 3
add eax, 0xffffffc0
neg eax
lea ecx, [eax - 0x20]
mov edx, ecx
neg ecx
mov ebx, dword [esp + 0x34]
mov ebp, ebx
shr ebx, cl
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x88], esi
and ebx, esi
mov edi, ecx
mov ecx, eax
mov esi, dword [esp + 0x3c]
shl esi, cl
cmp eax, 0x20
sbb eax, eax
mov dword [esp + 0x84], eax
and esi, eax
or esi, ebx
mov ebx, ecx
mov ecx, edx
shl ebp, cl
cmp ecx, 0x20
sbb eax, eax
and ebp, eax
or ebp, esi
mov esi, ebp
shr ebp, cl
and ebp, eax
mov ecx, edi
mov eax, esi
shl esi, cl
mov edx, dword [esp + 0x88]
and esi, edx
mov ecx, ebx
mov edx, dword [esp + 0x34]
shl edx, cl
mov edi, dword [esp + 0x84]
and edx, edi
shr edx, cl
and edx, edi
or edx, esi
or edx, ebp
shr eax, cl
and eax, edi
mov ebx, dword [esp + 0x34]
cmp edx, ebx
setne dl
mov ebp, dword [esp + 0x3c]
cmp eax, ebp
setne al
or eax, edx
test al, al
jne 0x59fe33
lea eax, [0x731040]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004074f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x59fe2b
movzx edx, byte [0xa7d7a8]
test dl, dl
je 0x59fdb5
mov dword [0xa7d7ac], ecx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x59fe1e
mov dword [0xa7d7b0], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x59fe16
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x59fde2
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.004a93b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x59fa3c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x59fde2
lea edi, [0xa7d7b0]
call fcn.0044c9e0
jmp 0x59fdb5
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x59fde2
lea eax, [0x762fa0]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov dword [esp], 0
lea ecx, [0x7928a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x59ff1d
mov dword [edi], eax
mov ecx, dword [esp + 0x60]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x59ff04
mov eax, dword [esp + 0xec]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x184]
mov dword [esp], eax
lea eax, [0x7fe180]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0059da90
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xec]
call fcn.0044c9e0
mov edi, edx
jmp 0x59feba
call fcn.0044c9e0
jmp 0x59fe9f
mov dword [esp + 0xa8], eax
lea eax, [0x74d440]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x59ff5e
lea eax, [0x79d59a]
mov dword [edi], eax
jmp 0x5a0e0c
lea eax, [0x79d59a]
call fcn.0044c9e0
jmp 0x5a0e0c
mov dword [esp], 0
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.0043be60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00453560
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5a01a8
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.004a8f30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
and ecx, 0x1f
lea edx, [ecx - 2]
cmp edx, 4
ja 0x5a029c
mov eax, dword [eax]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x80], ecx
lea eax, [ecx - 0x20]
cmp eax, 0x20
sbb edx, edx
mov ebx, edx
not edx
or edx, eax
mov dword [esp + 0x88], edx
mov ebp, dword [esp + 0x30]
mov esi, ebp
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
shr ebp, cl
mov dword [esp + 0x84], ebp
mov ecx, eax
shl esi, cl
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x38]
shl ebp, cl
neg eax
mov ecx, eax
mov edx, dword [esp + 0x30]
shr edx, cl
cmp eax, 0x20
sbb eax, eax
and edx, eax
and ebp, edi
or ebp, edx
and esi, ebx
or esi, ebp
mov edx, ecx
mov ecx, dword [esp + 0x88]
mov ebx, esi
sar esi, cl
mov ebp, dword [esp + 0x80]
mov ecx, ebp
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
xor ebp, 0xffffffff
and ebp, esi
mov esi, ecx
mov ecx, edx
mov edx, ebx
shl ebx, cl
and ebx, eax
mov eax, dword [esp + 0x84]
and eax, edi
or eax, ebx
or ebp, eax
cmp esi, 0x20
sbb ecx, ecx
not ecx
or ecx, esi
sar edx, cl
mov eax, dword [esp + 0x38]
cmp edx, eax
setne dl
mov ebx, dword [esp + 0x30]
cmp ebp, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5a01a8
lea ecx, [0x730500]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004074f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5a01a0
movzx edx, byte [0xa7d7a8]
test dl, dl
je 0x5a0124
mov dword [0xa7d7ac], eax
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x5a018d
mov dword [0xa7d7b0], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x148]
test eax, eax
je 0x5a0185
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5a0151
or edx, 0x80
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.004a93b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x59fa3c
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5a0151
lea edi, [0xa7d7b0]
mov edx, eax
mov eax, ecx
call fcn.0044c9e0
mov eax, edx
jmp 0x5a0124
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5a0151
lea eax, [0x762fa0]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov dword [esp], 0
lea ecx, [0x7928a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5a0292
mov dword [edi], eax
mov ecx, dword [esp + 0x60]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5a0279
mov eax, dword [esp + 0xec]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x184]
mov dword [esp], eax
lea eax, [0x7fe180]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0059da90
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xec]
call fcn.0044c9e0
mov edi, edx
jmp 0x5a022f
call fcn.0044c9e0
jmp 0x5a0214
mov dword [esp + 0xa8], ecx
lea eax, [0x74d440]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x19
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a02d3
lea eax, [0x79ccc1]
mov dword [edi], eax
jmp 0x5a0e2a
lea eax, [0x79ccc1]
call fcn.0044c9e0
jmp 0x5a0e2a
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0043bfb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x184]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.005a10a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x5a035c
mov eax, dword [esp + 0xa4]
cmp eax, 0x15
jmp 0x59f6a5
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov edx, 0
mov eax, 0
jmp 0x59f5f0
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov ecx, dword [0xa75c30]
mov edx, dword [0xa75c2c]
mov ebx, dword [0xa75c28]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1c], 0
call fcn.005a10a0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x5a03eb
mov eax, dword [esp + 0xa4]
cmp eax, 0x15
jmp 0x59f6a5
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x180
ret
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
call fcn.0059ddc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x5a045d
mov eax, dword [esp + 0xa4]
cmp eax, 0x15
jmp 0x59f6a5
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov eax, dword [0xa7cf54]
mov ecx, dword [0xa7cf50]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x180
ret
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.0059dcf0
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xd4]
mov edi, dword [esp + 0xe8]
jmp 0x59f57a
mov edi, dword [esp + 0x118]
mov eax, ecx
call fcn.0044c9e0
jmp 0x59f519
mov edi, dword [esp + 0x11c]
mov eax, ebp
call fcn.0044c9e0
jmp 0x59f4c1
mov esi, eax
jmp 0x59f31f
mov dword [esp + 0xa8], esi
lea eax, [0x74d440]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a0531
lea eax, [0x799701]
mov dword [edi], eax
jmp 0x5a0e48
lea eax, [0x799701]
call fcn.0044c9e0
jmp 0x5a0e48
mov ecx, dword [esp + 0x40]
mov edx, edi
jmp 0x59f25c
mov ecx, esi
mov edx, eax
mov ebx, edi
movzx eax, byte [esp + 0x2f]
jmp 0x59f483
mov eax, dword [esp + 0x184]
movzx ecx, byte [eax + 0x51]
test cl, cl
jne 0x5a057a
mov edx, eax
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x59f530
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x178], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x17c], edx
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
lea ebx, [0x719580]
mov dword [esp], ebx
lea ebp, [esp + 0x174]
mov dword [esp + 4], ebp
call fcn.004075f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
lea eax, [0x79b12c]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea ecx, [esp + 0x158]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5080
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x184]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0059da90
mov eax, dword [esp + 0x184]
jmp 0x5a056b
mov edx, edi
jmp 0x59f203
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5a0702
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8f30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004a7300
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xbc]
mov esi, eax
mov edi, ecx
mov dword [esp + 0xe4], edx
xor eax, eax
mov ebx, edi
mov ebp, edx
mov ecx, esi
mov edx, dword [esp + 0x184]
jmp 0x59f54d
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8ff0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a4f30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x5a06e3
mov eax, dword [0xa7cf50]
mov ecx, dword [0xa7cf54]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov eax, dword [0xa7cf50]
mov ecx, dword [0xa7cf54]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x124], ecx
lea edx, [0x762fa0]
mov dword [esp], edx
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a085b
lea ecx, [0x791946]
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5a0842
mov eax, dword [esp + 0x124]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x7fe180]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0059da90
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call fcn.0059dbc0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x124]
call fcn.0044c9e0
mov edi, edx
jmp 0x5a07ed
lea eax, [0x791946]
call fcn.0044c9e0
jmp 0x5a07cf
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a8370
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xd0], ecx
mov edx, dword [eax + 0x4c]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
ja 0x5a09c3
mov eax, dword [esp + 0xa4]
lea ecx, [eax - 0x15]
cmp ecx, 1
ja 0x5a0983
mov ecx, dword [esp + 0xa8]
test ecx, 0x200
je 0x5a08f4
mov eax, ecx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
jmp 0x59f092
test ecx, 0x80
je 0x5a0978
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x5a08d8
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
call fcn.004a8cd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebp, dword [esp + 0x12c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004a7300
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
jmp 0x5a08d8
mov edx, dword [esp + 0x12c]
mov ebx, edx
jmp 0x5a0905
lea eax, [0x74d440]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a09b3
lea eax, [0x799701]
mov dword [edi], eax
jmp 0x5a0e66
lea eax, [0x799701]
call fcn.0044c9e0
jmp 0x5a0e66
cmp eax, 0x18
je 0x5a08b6
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049ef90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [0xa7cf74]
mov ebx, dword [0xa7cf70]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5a08b6
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004a8370
mov eax, dword [esp + 0x10]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x762fa0]
mov dword [esp], edx
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a0b1a
lea ecx, [0x791946]
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5a0b01
mov eax, dword [esp + 0x124]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x7fe180]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0059da90
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call fcn.0059dbc0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x124]
call fcn.0044c9e0
mov edi, edx
jmp 0x5a0aac
lea eax, [0x791946]
call fcn.0044c9e0
jmp 0x5a0a8e
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a6630
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5a0b63
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
jmp 0x59f080
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call fcn.005a37c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x5a0c53
movzx ecx, byte [0xa7d7a8]
test cl, cl
je 0x5a0c48
lea ecx, [0x734e40]
mov dword [0xa7d7ac], ecx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x5a0c38
mov dword [0xa7d7b0], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x138]
test ecx, ecx
je 0x5a0c30
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5a0be2
or edx, 0x80
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004a7300
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5a0be2
lea edi, [0xa7d7b0]
call fcn.0044c9e0
jmp 0x5a0bb5
lea ecx, [0x734e40]
jmp 0x5a0bb5
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
add esp, 0x180
ret
mov eax, dword [esp + 0x188]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 8], eax
call fcn.004a8370
mov eax, dword [esp + 0x10]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x762fa0]
mov dword [esp], edx
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5a0d5e
lea ecx, [0x791946]
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5a0d45
mov eax, dword [esp + 0x124]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x7fe180]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0059da90
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call fcn.0059dbc0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x180
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x124]
call fcn.0044c9e0
mov edi, edx
jmp 0x5a0cf0
lea eax, [0x791946]
call fcn.0044c9e0
jmp 0x5a0cd2
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
call fcn.0059dbc0
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
test eax, eax
jl 0x5a0eac
mov ebx, dword [esp + 0xa0]
dec ebx
cmp ebx, eax
ja 0x5a0eac
cmp eax, ecx
ja 0x5a0eac
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x10]
sub ecx, ebx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
add ecx, edx
mov dword [esp + 4], ecx
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x180
ret
mov eax, dword [esp + 0xa8]
mov dword [edi + 8], eax
lea eax, [0x73d160]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004275c0
ud2
mov eax, dword [esp + 0xa8]
mov dword [edi + 8], eax
lea eax, [0x73d160]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004275c0
ud2
mov eax, dword [esp + 0xa8]
mov dword [edi + 8], eax
lea eax, [0x73d160]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004275c0
ud2
mov eax, dword [esp + 0xa4]
mov dword [edi + 8], eax
lea eax, [0x73d160]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004275c0
ud2
lea eax, [0x730dc0]
mov dword [esp], eax
lea eax, [0x7fc678]
mov dword [esp + 4], eax
call fcn.004275c0
ud2
call fcn.004266e0
ud2
call fcn.004267e0
ud2
call fcn.004267e0
ud2
call fcn.0044b280
jmp fcn.0059efd0