Function at 0x599b2a
Capabilities:
Allocate or change rwx memory
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0x4c
je 0x599b7b
cmp dword [ebp - 0x134], 0x54
je 0x599b5c
cmp dword [ebp - 0x134], 0x7d
je 0x599b6a
jmp 0x599b87
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
jmp 0x599b94
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x34]
movzx ecx, byte [ebp - 0x54]
add eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x599b94
movzx eax, word [ebp - 0x3c]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x18], eax
jmp 0x599b94
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x2c]
add eax, dword [ebp - 4]
mov word [ebp - 8], ax
movzx eax, word [ebp - 0x10]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
and dword [ebp - 0x4c], 0
jmp 0x599bc9
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 3
jae 0x599bdb
movzx eax, word [ebp - 0x6c]
or eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
jmp 0x599bc2
movzx eax, word [ebp - 0x50]
add eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x6c]
mov word [ebp - 0x58], ax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x50]
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x18]
jae 0x599c7f
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x54]
je 0x599c7f
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x64]
movzx ecx, byte [ebp - 0x84]
add eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
movzx eax, word [ebp - 0x18]
cmp dword [ebp - 0x14], eax
je 0x599c59
cmp dword [ebp - 0x48], 0
jb 0x599c59
movzx eax, byte [ebp - 0x8c]
cmp dword [ebp - 0x50], eax
jbe 0x599c6c
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x24]
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x34]
movzx ecx, word [ebp - 4]
sub eax, ecx
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x40], 0
jne 0x599c95
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x78]
jae 0x599c95
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x5c]
jbe 0x599d06
movzx eax, byte [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x28]
jae 0x599cb2
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x5c]
je 0x599cb8
cmp dword [ebp - 0x3c], 0
jae 0x599ce5
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x84]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
cmp dword [ebp - 0x1c], 0
jbe 0x599cdc
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x60]
jbe 0x599ce5
mov eax, dword [ebp - 0xc]
and eax, dword [ebp - 0x48]
mov byte [ebp - 0x64], al
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x6c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 8]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
movzx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x54]
movzx ecx, word [ebp - 0x74]
sub eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
and dword [ebp - 0x30], 0
jmp 0x599d47
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jae 0x599d5f
movzx eax, byte [ebp - 0x24]
add eax, dword [ebp - 0x78]
movzx ecx, byte [ebp - 0x38]
sub eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x599d40
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x78]
jne 0x599e49
cmp dword [ebp - 0x14], 0
jae 0x599e49
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x40]
movzx ecx, byte [ebp - 0x2c]
add eax, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x24], 0x579
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x30]
mov byte [ebp - 0x40], al
movzx eax, word [ebp - 0x64]
add eax, dword [ebp - 0x40]
movzx ecx, byte [ebp - 0x10]
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
add eax, 0xe
mov dword [ebp - 0x24], eax
movzx eax, word [ebp - 0x60]
sub eax, dword [ebp - 0x28]
movzx ecx, byte [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x24], 0x587
jb 0x599dac
cmp dword [ebp - 8], 0
je 0x599dff
movzx eax, byte [ebp - 0x30]
cmp dword [ebp - 0x64], eax
ja 0x599e27
cmp dword [ebp - 0x24], 0
jb 0x599e27
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 0x84]
add eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x84]
mov dword [ebp - 0x20], eax
movzx eax, word [ebp - 0x5c]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x20], ecx
and dword [ebp - 0x5c], 0
jmp 0x599e34
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 2
jae 0x599e49
movzx eax, byte [ebp - 0x14]
sub eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
jmp 0x599e2d
cmp dword [ebp - 0x3c], 0
jne 0x599f0c
cmp dword [ebp - 0x4c], 0
jne 0x599f0c
movzx eax, word [ebp - 0x48]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x50]
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0xc]
movzx ecx, word [ebp - 0x60]
add eax, ecx
mov byte [ebp - 0x50], al
movzx eax, byte [ebp - 0x84]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x54], eax
and dword [ebp - 0x70], 0
jmp 0x599e99
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jae 0x599ead
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x8c], eax
jmp 0x599e92
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x70]
jbe 0x599f0c
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x58]
jbe 0x599f0c
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x24]
mov byte [ebp - 0x10], al
movzx eax, byte [ebp - 0x50]
add eax, dword [ebp - 4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x8c]
jb 0x599eef
cmp dword [ebp - 0x58], 0
jb 0x599eef
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x5c]
jne 0x599f0c
movzx eax, byte [ebp - 0x60]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
or ecx, dword [ebp - 0x8c]
mov byte [ebp - 0x10], cl
movzx eax, byte [ebp - 0x10]
add eax, dword [ebp - 0x14]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x78], eax
push 0x40
push 0x3000
push 0x94a8d
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0x78], 0
je 0x59a019
cmp dword [ebp - 0x34], 0
jbe 0x59a019
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x20]
jae 0x59a019
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x6c]
movzx ecx, word [ebp - 0x38]
add eax, ecx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x88]
movzx ecx, word [ebp - 8]
or eax, ecx
mov byte [ebp - 0x10], al
cmp dword [ebp - 0x1c], 0
je 0x599f8b
cmp dword [ebp - 0x5c], 0
ja 0x599f91
cmp dword [ebp - 0xc], 0
jae 0x599fd9
movzx eax, byte [ebp - 0x10]
movzx ecx, word [ebp - 0x60]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x4c]
ja 0x599fc7
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x50]
jbe 0x599fc7
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x20]
mov word [ebp - 0x6c], ax
movzx eax, byte [ebp - 0x74]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
movzx eax, word [ebp - 0x70]
sub ecx, eax
mov dword [ebp - 0x10], ecx
movzx eax, byte [ebp - 0x2c]
cmp dword [ebp - 0x54], eax
jbe 0x599fea
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x40]
je 0x59a00c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x58]
sub eax, dword [ebp - 4]
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x84], eax
movzx eax, word [ebp - 0x2c]
sub eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x34]
mov word [ebp - 0x78], ax
movzx eax, byte [ebp - 0x78]
add eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x7c], eax
movzx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x68]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x6c]
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x80], eax
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 8]
add eax, ecx
and eax, dword [ebp - 4]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xbc]
add eax, 0x5000
mov dword [ebp - 0xbc], eax
movzx eax, word [ebp - 4]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 8]
mov word [ebp - 0x6c], cx
movzx eax, word [ebp - 0x8c]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x15c], 0x401000
movzx eax, word [ebp - 0x88]
movzx ecx, byte [ebp - 0x30]
add eax, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x34], eax
and dword [ebp - 0x90], 0
movzx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x5c], 0
jne 0x59a13a
cmp dword [ebp - 0x60], 0
jb 0x59a13a
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x48]
je 0x59a13a
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x10]
movzx ecx, word [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0x7c], eax
movzx eax, byte [ebp - 0xc]
add eax, dword [ebp - 0x58]
mov word [ebp - 0x4c], ax
cmp dword [ebp - 0x7c], 0
ja 0x59a181
movzx eax, byte [ebp - 0x10]
cmp dword [ebp - 0x44], eax
je 0x59a181
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x4c]
jne 0x59a181
cmp dword [ebp - 0x38], 0
jbe 0x59a181
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x3c]
jae 0x59a181
movzx eax, byte [ebp - 0x3c]
add eax, dword [ebp - 0x78]
movzx ecx, byte [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x48], 0x3e
movzx eax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
sub ecx, dword [ebp - 0x84]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x40]
and eax, dword [ebp - 0x3c]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 4]
mov byte [ebp - 0x20], al
cmp dword [ebp - 0x48], 0x98
jb 0x59a1a9
mov dword [ebp - 0x138], 0xffc1fc25
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x40], eax
movzx eax, word [ebp - 0x84]
add eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xcc], 0xfdb8ac4d
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 4]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa8], 0x39dfa900
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x50]
mov byte [ebp - 0x84], al
mov dword [ebp - 0xf0], 0x13d6753f
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
mov word [ebp - 0x28], ax
mov dword [ebp - 0xe4], 0xb2d0b9da
movzx eax, word [ebp - 0x50]
mov ecx, dword [ebp - 8]
sub ecx, eax
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xd8], 0x98409dc2
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xd0], 0x9271cf7a
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x74]
jb 0x59a2ce
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x7c]
ja 0x59a2ce
movzx eax, word [ebp - 0x38]
cmp dword [ebp - 0x84], eax
jne 0x59a2ce
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
movzx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xf4], 0xbe65032d
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 8]
mov byte [ebp - 0x50], al
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x5f
je 0x59a340
cmp dword [ebp - 0xb8], 0xa3
je 0x59a325
cmp dword [ebp - 0xb8], 0xf3
je 0x59a333
cmp dword [ebp - 0xb8], 0x133
je 0x59a352
jmp 0x59a35e
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
jmp 0x59a36d
movzx eax, word [ebp - 0x18]
sub eax, dword [ebp - 0x58]
mov word [ebp - 0x4c], ax
jmp 0x59a36d
movzx eax, byte [ebp - 0x5c]
add eax, dword [ebp - 0x44]
movzx ecx, word [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x78], eax
jmp 0x59a36d
movzx eax, byte [ebp - 0x44]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
jmp 0x59a36d
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x38]
movzx ecx, word [ebp - 0x50]
add eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x144], 0xc4d9557b
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xc]
jne 0x59a3a4
cmp dword [ebp - 0x28], 0
jae 0x59a3a4
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x88]
ja 0x59a3a4
movzx eax, byte [ebp - 0x50]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
movzx eax, word [ebp - 0x60]
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x78]
or eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x104], 0xc5f9b7e8
cmp dword [ebp - 0x18], 0
jne 0x59a3d5
cmp dword [ebp - 0x60], 0
jne 0x59a3d5
cmp dword [ebp - 0x28], 0
je 0x59a3d5
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x120], 0xacf74940
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x118], 0x78d42aed
mov dword [ebp - 0x13c], 0xd11af74e
cmp dword [ebp - 0x5c], 0
jne 0x59a441
movzx eax, word [ebp - 0x70]
cmp dword [ebp - 0xc], eax
jbe 0x59a441
movzx eax, word [ebp - 0x50]
cmp dword [ebp - 0x10], eax
je 0x59a441
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x54]
mov byte [ebp - 0x10], al
movzx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xac], 0x7a462da9
cmp dword [ebp - 0x54], 0
jne 0x59a47d
cmp dword [ebp - 0x20], 0
jbe 0x59a47d
movzx eax, byte [ebp - 0x18]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x5c
je 0x59a4b1
cmp dword [ebp - 0x114], 0x7c
je 0x59a4a6
cmp dword [ebp - 0x114], 0xad
je 0x59a4bc
jmp 0x59a4d1
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
jmp 0x59a4dd
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x5c], eax
jmp 0x59a4dd
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x18]
movzx ecx, word [ebp - 0x38]
add eax, ecx
mov word [ebp - 0x44], ax
jmp 0x59a4dd
movzx eax, word [ebp - 0x70]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x128], 0x9fbdfc1c
movzx eax, byte [ebp - 0x30]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
and dword [ebp - 0x48], 0
jmp 0x59a4fe
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jae 0x59a50f
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x60], eax
jmp 0x59a4f7
mov dword [ebp - 0xc4], 0xd1550a75
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x11c], 0x3e45984c
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x58]
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x148], 0xf63afc49
movzx eax, byte [ebp - 0x50]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xdc], 0x3eb2e23d
movzx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x3c]
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x7c]
add eax, dword [ebp - 4]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x9c], 0x22aa9cf8
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
and dword [ebp - 0x2c], 0
jmp 0x59a5a3
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jae 0x59a5b7
movzx eax, word [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
mov byte [ebp - 0x14], cl
jmp 0x59a59c
mov dword [ebp - 0xd4], 0x82b61008
movzx eax, word [ebp - 0x7c]
sub eax, dword [ebp - 0x74]
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x150], 0xe85f0332
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x74], eax
movzx eax, byte [ebp - 0x54]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa0], 0xfe5b9e59
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebp - 0xc]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc8], 0x38704ba6
movzx eax, byte [ebp - 0x80]
sub eax, dword [ebp - 0x78]
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 4]
jae 0x59a63f
cmp dword [ebp - 0x14], 0
jne 0x59a63f
movzx eax, byte [ebp - 0x28]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x100], 0x4fdbc179
mov dword [ebp - 0xf8], 0x68427f45
movzx eax, byte [ebp - 0x78]
movzx ecx, byte [ebp - 0x3c]
movzx edx, byte [ebp - 0x18]
add ecx, edx
or eax, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x124], 0xb8803676
movzx eax, word [ebp - 0x44]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14c], 0x41ab5809
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 8], eax
movzx eax, word [ebp - 0x78]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
movzx eax, byte [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0xe8], 0x91858361
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x14], 0
ja 0x59a6d3
cmp dword [ebp - 0x18], 0
jae 0x59a725
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x30]
ja 0x59a6ef
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x4c]
jne 0x59a6f8
cmp dword [ebp - 0x84], 0
jae 0x59a725
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x18]
movzx ecx, byte [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x5c], eax
movzx eax, byte [ebp - 0x24]
cmp dword [ebp - 0x14], eax
jae 0x59a725
cmp dword [ebp - 0x48], 0
jne 0x59a725
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x68]
mov byte [ebp - 0x60], al
mov dword [ebp - 0xe0], 0xb4746019
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
or eax, dword [ebp - 0x50]
mov byte [ebp - 0x38], al
mov dword [ebp - 0x110], 0x833a96b1
mov eax, dword [ebp - 4]
or eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x78]
and eax, dword [ebp - 0x74]
mov byte [ebp - 0x5c], al
mov dword [ebp - 0x108], 0x76001d9e
movzx eax, word [ebp - 0x88]
movzx ecx, word [ebp - 0x74]
sub eax, ecx
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x80]
or eax, dword [ebp - 0x84]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0xec], 0x95fd4b71
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 4]
movzx ecx, byte [ebp - 0x5c]
or eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x28]
mov word [ebp - 0x80], ax
mov dword [ebp - 0xfc], 0xe57fd5ba
cmp dword [ebp - 0x4c], 0
je 0x59a7e1
cmp dword [ebp - 0x2c], 0
jbe 0x59a7e1
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x60]
movzx ecx, byte [ebp - 0x7c]
or eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x12c], 0xb42627
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10c], 0xb7f8aa80
movzx eax, byte [ebp - 0x10]
cmp dword [ebp - 0x20], eax
jae 0x59a823
cmp dword [ebp - 8], 0
ja 0x59a823
movzx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xc0], 0x6cc3f971
movzx eax, byte [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x80], ecx
and dword [ebp - 4], 0
jmp 0x59a849
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jae 0x59a85b
movzx eax, byte [ebp - 0x80]
add eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
jmp 0x59a842
mov dword [ebp - 0x130], 0x4fbe440d
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x154], 0xc071ee54
movzx eax, byte [ebp - 0x24]
add eax, dword [ebp - 0x24]
movzx ecx, word [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0x9d2
movzx eax, byte [ebp - 0x3c]
add eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 8], eax
movzx eax, word [ebp - 0x40]
add eax, dword [ebp - 0x38]
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 4]
add eax, 0x18
mov dword [ebp - 4], eax
movzx eax, word [ebp - 0x54]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 4], 0xa1a
jb 0x59a89f
and dword [ebp - 0x90], 0
cmp dword [ebp - 0x90], 0xb4a0
jae 0x59b942
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x138]
xor eax, dword [ebp - 0xcc]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x10]
mov byte [ebp - 0x7c], al
mov eax, dword [ebp - 0xdc]
xor eax, dword [ebp - 0x9c]
mov dword [ebp - 0xdc], eax
movzx eax, word [ebp - 0x84]
movzx ecx, byte [ebp - 0x20]
or eax, ecx
or eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xd0]
xor eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 8]
cmp dword [ebp - 0xc], eax
ja 0x59a956
cmp dword [ebp - 0x88], 0
jb 0x59a96b
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x9c], eax
and dword [ebp - 0x54], 0
jmp 0x59a996
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 1
jae 0x59a9a8
movzx eax, word [ebp - 0x3c]
or eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
jmp 0x59a98f
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x148]
mov dword [ebp - 0x11c], eax
movzx eax, word [ebp - 0x34]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x11
je 0x59aa11
cmp dword [ebp - 0xb0], 0x26
je 0x59aa28
cmp dword [ebp - 0xb0], 0x81
je 0x59aa33
cmp dword [ebp - 0xb0], 0xd4
je 0x59aa1d
jmp 0x59aa45
movzx eax, word [ebp - 0x30]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
jmp 0x59aa52
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
jmp 0x59aa52
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x7c], eax
jmp 0x59aa52
movzx eax, word [ebp - 0x3c]
movzx ecx, word [ebp - 0x1c]
add eax, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 4], ecx
jmp 0x59aa52
movzx eax, byte [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
add eax, ecx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0xcc]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 0x8c]
or eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xe4]
xor eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe4], eax
movzx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x24]
mov word [ebp - 0x44], ax
movzx eax, byte [ebp - 0x38]
mov ecx, dword [ebp - 0x64]
sub ecx, eax
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x13c]
xor eax, dword [ebp - 0xac]
mov dword [ebp - 0x13c], eax
movzx eax, byte [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x64]
or eax, ecx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x118]
xor eax, dword [ebp - 0x13c]
mov dword [ebp - 0x118], eax
movzx eax, word [ebp - 0x88]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx eax, word [ebp - 0x34]
add eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x8c]
and eax, dword [ebp - 0x14]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x20]
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x124]
xor eax, dword [ebp - 0x14c]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xec]
xor eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x50]
movzx ecx, word [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x28], eax
movzx eax, word [ebp - 8]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x144]
xor eax, dword [ebp - 0x104]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x34]
mov word [ebp - 0x60], ax
mov dword [ebp - 0x2c], 0x385
movzx eax, word [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov dword [ebp - 0x88], ecx
movzx eax, word [ebp - 0x58]
add eax, dword [ebp - 0x18]
add eax, dword [ebp - 4]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x2c]
add eax, 9
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x88]
movzx ecx, word [ebp - 0x74]
add eax, ecx
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x2c], 0x38e
jb 0x59ab9d
mov eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x10c]
mov dword [ebp - 0x12c], eax
movzx eax, byte [ebp - 0x44]
movzx ecx, byte [ebp - 0x4c]
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc4]
xor eax, dword [ebp - 0x11c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x68]
mov byte [ebp - 0x24], al
movzx eax, byte [ebp - 0x44]
add eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x148]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x3c]
or eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0x110]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x54]
mov byte [ebp - 0x1c], al
and dword [ebp - 0x3c], 0
jmp 0x59ac79
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jae 0x59ac8d
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x7c], eax
jmp 0x59ac72
mov eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xe4]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ebp - 0x5c]
sub eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0x124]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0x8c], 0
je 0x59acfd
cmp dword [ebp - 8], 0
jbe 0x59acfd
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x8c]
jae 0x59acfd
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
movzx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xa0]
xor eax, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
movzx eax, byte [ebp - 0x88]
sub eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x48]
mov byte [ebp - 0x64], al
movzx eax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
movzx eax, byte [ebp - 0x40]
add ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x108]
xor eax, dword [ebp - 0xec]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x144]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0x130]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa0]
xor eax, dword [ebp - 0xac]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x58]
jne 0x59adc5
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x3c]
jne 0x59adcd
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x14]
jae 0x59ade5
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x3c]
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x1c]
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0xfc], eax
movzx eax, word [ebp - 0x74]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x150]
xor eax, dword [ebp - 0xa0]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x104]
add eax, dword [ebp - 0x120]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0xc]
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x14c]
xor eax, dword [ebp - 0xe8]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x128]
xor eax, dword [ebp - 0xc4]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xc8]
xor eax, dword [ebp - 0x100]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
movzx eax, word [ebp - 0x54]
sub eax, dword [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xe8]
xor eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x68]
imul eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x10], eax
movzx eax, byte [ebp - 0x68]
sub eax, dword [ebp - 0x78]
and eax, dword [ebp - 0x80]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
movzx eax, word [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x100]
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
je 0x59af90
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 8]
jae 0x59af99
movzx eax, word [ebp - 0x7c]
cmp dword [ebp - 0x14], eax
jae 0x59afaf
movzx eax, word [ebp - 0x1c]
sub eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x64], 0
jne 0x59afef
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x30]
jae 0x59afef
movzx eax, byte [ebp - 0x24]
add eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebp - 0x8c]
movzx ecx, word [ebp - 0x74]
sub eax, ecx
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x58], 0
jne 0x59affd
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 4]
ja 0x59b006
movzx eax, byte [ebp - 0x2c]
cmp dword [ebp - 0x58], eax
je 0x59b012
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0xc]
or eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x128]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 4]
and eax, dword [ebp - 0x58]
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x154]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x30]
add eax, dword [ebp - 4]
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x40]
sub eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
movzx eax, word [ebp - 0x74]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 0x48]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [ebp - 0x40]
sub eax, ecx
mov dword [ebp - 0x10], eax
and dword [ebp - 0x1c], 0
jmp 0x59b0b9
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jae 0x59b0ca
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
jmp 0x59b0b2
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x18], 0
je 0x59b113
cmp dword [ebp - 0x84], 0
jne 0x59b113
cmp dword [ebp - 0x78], 0
je 0x59b113
movzx eax, byte [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x8c], ecx
movzx eax, byte [ebp - 0x74]
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x64], 0
jb 0x59b125
cmp dword [ebp - 0x30], 0
jb 0x59b14b
cmp dword [ebp - 0x64], 0
jbe 0x59b14b
movzx eax, byte [ebp - 0x54]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x68]
mov byte [ebp - 0x18], al
movzx eax, byte [ebp - 0x64]
sub eax, dword [ebp - 0x68]
or eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
xor eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x160]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x68]
mov dword [ebp - 4], eax
cmp dword [ebp - 0x18], 0
jb 0x59b2bd
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xc]
jbe 0x59b2bd
movzx eax, byte [ebp - 0x34]
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x64]
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0x74]
and eax, dword [ebp - 0x8c]
and eax, dword [ebp - 0x88]
mov dword [ebp - 0x64], eax
movzx eax, byte [ebp - 0x34]
add eax, dword [ebp - 0x14]
and eax, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x3c]
jb 0x59b265
cmp dword [ebp - 0x3c], 0
je 0x59b265
movzx eax, word [ebp - 0x34]
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x6c], 0
jbe 0x59b265
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jae 0x59b265
cmp dword [ebp - 0x68], 0
je 0x59b265
movzx eax, word [ebp - 0x4c]
or eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 8], eax
mov dword [ebp - 0x88], 0x902
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x6c]
mov byte [ebp - 0x30], al
movzx eax, byte [ebp - 0x70]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x88]
add eax, 5
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x6c]
mov byte [ebp - 0x50], al
cmp dword [ebp - 0x88], 0x911
jb 0x59b225
cmp dword [ebp - 0x88], 0
jne 0x59b2bd
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x50]
jae 0x59b2bd
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x4c], eax
movzx eax, word [ebp - 0x1c]
sub eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x3c], 0
jb 0x59b2bd
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x14]
je 0x59b2bd
cmp dword [ebp - 0x14], 0
jne 0x59b2bd
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x28]
mov byte [ebp - 0x30], al
movzx eax, word [ebp - 0xc]
sub eax, dword [ebp - 0x8c]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x60]
movzx ecx, byte [ebp - 0x38]
and eax, ecx
mov dword [ebp - 0x70], eax
movzx eax, word [ebp - 0x84]
add eax, dword [ebp - 0x7c]
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x1c]
movzx ecx, word [ebp - 0x10]
sub eax, ecx
mov byte [ebp - 0x74], al
mov eax, dword [ebp - 0x90]
add eax, 0x90c91
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0x7c]
movzx ecx, word [ebp - 0xc]
sub eax, ecx
or eax, dword [ebp - 8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x80]
and eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
movzx eax, word [ebp - 0x2c]
or eax, dword [ebp - 0x80]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x90]
add eax, 0xd14d1
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x70], 0
jb 0x59b385
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
jb 0x59b40e
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x60]
movzx ecx, byte [ebp - 0x1c]
or eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 8
je 0x59b3e5
cmp dword [ebp - 0x140], 0x41
je 0x59b3f6
cmp dword [ebp - 0x140], 0x7f
je 0x59b3d9
jmp 0x59b401
movzx eax, word [ebp - 0x44]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
jmp 0x59b40e
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x70]
mov dword [ebp - 0x84], eax
jmp 0x59b40e
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x80], eax
jmp 0x59b40e
movzx eax, word [ebp - 0x14]
sub eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
movzx eax, byte [ebp - 0x10]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x40]
movzx ecx, word [ebp - 0x28]
or eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x70]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x60], 0
jb 0x59b44a
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x58]
je 0x59b450
cmp dword [ebp - 0x14], 0
jne 0x59b495
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
or eax, dword [ebp - 4]
mov word [ebp - 0x80], ax
and dword [ebp - 0x24], 0
jmp 0x59b473
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jae 0x59b488
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
mov word [ebp - 0x38], ax
jmp 0x59b46c
movzx eax, word [ebp - 0x3c]
add eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x59
je 0x59b4cd
cmp dword [ebp - 0xb4], 0x88
je 0x59b4f4
cmp dword [ebp - 0xb4], 0x92
je 0x59b4db
cmp dword [ebp - 0xb4], 0xb3
je 0x59b4e9
jmp 0x59b502
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x88]
mov dword [ebp - 0x48], eax
jmp 0x59b50b
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
jmp 0x59b50b
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
jmp 0x59b50b
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x64], eax
jmp 0x59b50b
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x64], eax
movzx eax, word [ebp - 0x3c]
add eax, dword [ebp - 0x7c]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x5c]
movzx ecx, word [ebp - 0x18]
or eax, ecx
mov dword [ebp - 0x2c], eax
aam 0x8b
test dword [eax - 1], esi
invalid
inc dword [0x13b73]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x1a
je 0x59b5bc
cmp dword [ebp - 0xa4], 0x25
je 0x59b59b
cmp dword [ebp - 0xa4], 0x63
je 0x59b5a6
cmp dword [ebp - 0xa4], 0x97
je 0x59b5b1
cmp dword [ebp - 0xa4], 0xcc
je 0x59b5ca
jmp 0x59b5d9
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
jmp 0x59b5e2
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], eax
jmp 0x59b5e2
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x54]
mov byte [ebp - 0x50], al
jmp 0x59b5e2
movzx eax, word [ebp - 0x6c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x59b5e2
movzx eax, byte [ebp - 0x6c]
add eax, dword [ebp - 0x50]
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
jmp 0x59b5e2
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x78], eax
movzx eax, byte [ebp - 8]
movzx ecx, byte [ebp - 0x34]
add eax, ecx
sub eax, dword [ebp - 0x5c]
mov dword [ebp - 0x78], eax
movzx eax, word [ebp - 0x30]
movzx ecx, byte [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x90]
add eax, 0xdb333
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x14], 0
jb 0x59b692
cmp dword [ebp - 0x80], 0
ja 0x59b692
movzx eax, word [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x8c]
jb 0x59b639
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x59b660
movzx eax, byte [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ebp - 8]
add eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp - 0x78]
add eax, dword [ebp - 0x74]
or eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 0x58]
add eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
movzx eax, word [ebp - 0x10]
sub eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x28]
movzx ecx, byte [ebp - 0x5c]
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x28]
movzx ecx, byte [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x2c]
sub eax, dword [ebp - 4]
and eax, dword [ebp - 0x48]
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x68], 0xe6
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
movzx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x80]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x68]
add eax, 0x1a
mov dword [ebp - 0x68], eax
movzx eax, word [ebp - 0x6c]
sub eax, dword [ebp - 0x38]
and eax, dword [ebp - 0x74]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
movzx ecx, byte [ebp - 0x78]
add eax, ecx
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x68], 0x11a
jb 0x59b6d7
movzx eax, byte [ebp - 0x64]
add eax, dword [ebp - 4]
movzx ecx, word [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x90]
sub eax, 0x18e70
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp - 0x38]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0x40]
sub eax, dword [ebp - 4]
sub eax, dword [ebp - 0x3c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x18]
jae 0x59b797
cmp dword [ebp - 0x48], 0
ja 0x59b7a4
movzx eax, byte [ebp - 0x30]
cmp dword [ebp - 0x3c], eax
jne 0x59b8b2
movzx eax, word [ebp - 0x5c]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x58]
mov byte [ebp - 0x84], al
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x40
je 0x59b830
cmp dword [ebp - 0x98], 0x80
je 0x59b816
cmp dword [ebp - 0x98], 0xcf
je 0x59b821
cmp dword [ebp - 0x98], 0x117
je 0x59b861
cmp dword [ebp - 0x98], 0x142
je 0x59b841
cmp dword [ebp - 0x98], 0x154
je 0x59b853
jmp 0x59b86c
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x59b875
movzx eax, word [ebp - 0x70]
and eax, dword [ebp - 0x8c]
mov dword [ebp - 0x3c], eax
jmp 0x59b875
movzx eax, word [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x18], ecx
jmp 0x59b875
movzx eax, byte [ebp - 0x28]
add eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x44], eax
jmp 0x59b875
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
jmp 0x59b875
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x70]
mov byte [ebp - 0x24], al
jmp 0x59b875
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x70], eax
movzx eax, byte [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jne 0x59b8a6
cmp dword [ebp - 0x40], 0
je 0x59b8a6
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xc]
mov byte [ebp - 0x74], al
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 4]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
movzx eax, byte [ebp - 0x68]
sub eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x90]
add eax, 0xba9d4
mov dword [ebp - 0x90], eax
movzx eax, word [ebp - 0xc]
sub eax, dword [ebp - 0x50]
mov word [ebp - 0x68], ax
movzx eax, byte [ebp - 0x24]
add eax, dword [ebp - 0x50]
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x6c], eax
movzx eax, byte [ebp - 0x88]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov word [ebp - 0x28], cx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 8]
mov byte [ebp - 0x60], al
mov eax, dword [ebp - 0x90]
sub eax, 0xb0fda
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
sub eax, 0x241b8e
mov dword [ebp - 0x90], eax
jmp 0x59a8d9
mov eax, dword [ebp - 0xbc]
add eax, 0x8440
mov dword [0x5b4d1c], eax
and dword [ebp - 0x2c], 0
jmp 0x59b95f
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jae 0x59b974
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x80]
mov word [ebp - 8], ax
jmp 0x59b958
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x32
je 0x59b9e9
cmp dword [ebp - 0x94], 0x7a
je 0x59b9c1
cmp dword [ebp - 0x94], 0xa0
je 0x59b9cd
cmp dword [ebp - 0x94], 0xb7
je 0x59b9d8
cmp dword [ebp - 0x94], 0xbb
je 0x59ba03
cmp dword [ebp - 0x94], 0x110
je 0x59b9f5
jmp 0x59ba18
movzx eax, word [ebp - 0x48]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
jmp 0x59ba24
mov eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x44]
mov byte [ebp - 0x58], al
jmp 0x59ba24
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x74], eax
jmp 0x59ba24
movzx eax, byte [ebp - 0x74]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x68], eax
jmp 0x59ba24
mov eax, dword [ebp - 0x70]
or eax, dword [ebp - 0x88]
mov dword [ebp - 0x38], eax
jmp 0x59ba24
movzx eax, byte [ebp - 0x74]
movzx ecx, word [ebp - 0x54]
add eax, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x88], ecx
jmp 0x59ba24
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x60]
mov word [ebp - 0x78], ax
and dword [ebp - 0x70], 0
jmp 0x59ba4d
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jae 0x59ba5e
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
jmp 0x59ba46
movzx eax, word [ebp - 0x58]
movzx ecx, byte [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0xc], eax
mov esp, ebp
pop ebp
ret