Function at 0x59e910
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe48
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x5a1e07
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5bad1c]
xor edx, edx
mov dword [eax], edx
cmp byte [0x5baa5c], 0
je 0x59e977
mov byte [ebp - 0x15], 1
jmp 0x5a1dbb
mov byte [ebp - 0x15], 0
mov eax, 0x5c1dec
mov ecx, dword [0x5bab00]
mov edx, dword [0x5baafc]
call fcn.00403cd8
cmp dword [0x5c1df0], 0
je 0x5a1dbb
cmp dword [0x5c1df4], 0xa
jge 0x59e9dc
push dword [0x5baaa0]
push dword [0x5baab4]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
lea edx, [ebp - 0x20]
mov eax, dword [0x5c1df0]
mov ecx, 0xa
call fcn.004027e0
cmp word [ebp - 0x20], 0x5a4d
je 0x59ea2b
push dword [0x5baaa0]
push dword [0x5baab0]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
lea eax, [ebp - 0x8c]
mov edx, 0xc
call fcn.00403f60
mov eax, dword [0x5c1df0]
add eax, 2
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x8c]
call fcn.00403e5c
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
mov ecx, 0xc
call fcn.004027e0
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x8c]
call fcn.00406fac
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x8c]
call fcn.00403aa8
mov eax, dword [ebp - 0x8c]
mov edx, 0x5a1e20
call fcn.00403d9c
jne 0x59eaad
mov dword [ebp - 0x24], pe_nt_image_headers32
jmp 0x59eaf6
movzx eax, word [ebp - 0x18]
shl eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x5c1df4]
cmp eax, dword [ebp - 0x24]
jge 0x59eaf6
push dword [0x5baaa0]
push dword [0x5baab4]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
push dword [0x5baab8]
lea ecx, [ebp - 0xa8]
mov edx, 4
mov eax, dword [ebp - 0x24]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
cmp dword [0x5c1df4], 0x40
jge 0x59eb76
push dword [0x5baaa0]
push dword [0x5baab4]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
mov eax, 0x5c1df8
xor ecx, ecx
mov edx, pe_nt_image_headers32
call fcn.00402b14
mov edx, 0x5c1df8
mov eax, dword [0x5c1df0]
mov ecx, pe_nt_image_headers32
call fcn.004027e0
mov edx, dword [0x5baabc]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
cmp dword [ebp - 0x24], 0
jne 0x59ebb8
mov dword [ebp - 0x30], 0xc
jmp 0x59ebc0
mov eax, dword [0x5c1e34]
mov dword [ebp - 0x30], eax
push dword [0x5baac0]
lea ecx, [ebp - 0xa8]
mov edx, 4
mov eax, dword [ebp - 0x30]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [ebp - 0x30]
add eax, 0x78
cmp eax, dword [0x5c1df4]
jle 0x59ec45
push dword [0x5baaa0]
push dword [0x5baac4]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
mov eax, dword [ebp - 0x30]
mov dword [0x5c1e3c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
mov eax, 0x5c1e44
xor ecx, ecx
mov edx, 0x78
call fcn.00402b14
mov eax, dword [0x5c1df0]
mov edx, dword [ebp - 0x60]
add eax, edx
mov edx, 0x5c1e44
mov ecx, 0x78
call fcn.004027e0
add dword [ebp - 0x60], 0x78
mov eax, dword [0x5c1e44]
and eax, 0xffff
cmp eax, 0x454e
jne 0x59ecc7
push dword [0x5baaa0]
push dword [0x5baac8]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
mov eax, dword [0x5c1e44]
and eax, 0xffff
cmp eax, 0x454c
jne 0x59ed0d
push dword [0x5baaa0]
push dword [0x5baacc]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
cmp dword [0x5c1e44], 0x4550
je 0x59ed4e
push dword [0x5baaa0]
push dword [0x5baad0]
push dword [0x5baaac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
jmp 0x5a1dbb
mov edx, dword [0x5baad4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1e48]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
movzx eax, word [0x5c1e48]
cmp eax, 0x1c2
jg 0x59ee24
je 0x59f11e
cmp eax, 0x184
jg 0x59ee02
je 0x59ef5f
sub eax, 0x14c
je 0x59ee7e
sub eax, 0x16
je 0x59eed8
sub eax, 4
je 0x59ef05
sub eax, 2
je 0x59ef32
jmp 0x59f172
sub eax, 0x1a2
je 0x59f0c7
sub eax, 4
je 0x59f0f4
sub eax, 0x1a
je 0x59efe6
jmp 0x59f172
cmp eax, 0x284
jg 0x59ee58
je 0x59ef8c
sub eax, 0x1f0
je 0x59efb9
sub eax, 0x10
je 0x59eeab
sub eax, 0x66
je 0x59f040
sub eax, 2
je 0x59f013
jmp 0x59f172
sub eax, 0x366
je 0x59f06d
sub eax, 0x100
je 0x59f09a
sub eax, 0x81fe
je 0x59f148
jmp 0x59f172
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e44
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e54
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e68
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e78
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e88
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1e98
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1eac
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1ec8
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1ed8
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1ee4
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f04
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f14
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f2c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f44
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f58
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f6c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f7c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f19a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f8c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
cmp word [0x5c1e48], 0x14c
sete byte [0x5bab9c]
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1e4a]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 1
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
movzx eax, word [0x5c1e4a]
mov dword [0x5c1ec8], eax
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e4c]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 2
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa4]
mov eax, dword [0x5c1e4c]
call fcn.00553558
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 2
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e50]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 3
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e54]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 4
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1e58]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 5
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1e5a]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 6
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
cmp word [0x5c1e5c], 0
jne 0x59f3fb
mov edx, dword [0x5bab34]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov word [0x5c1e5c], 0x10b
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1e5c]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov ax, word [0x5c1e5c]
sub ax, 0x107
je 0x59f46a
sub ax, 4
je 0x59f49a
sub ax, 0x100
je 0x59f4c7
jmp 0x59f4f4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1fa0
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f51f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1fb4
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f51f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1fc4
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f51f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1f8c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x59f57d
lea ecx, [ebp - 0xa8]
xor eax, eax
mov al, byte [0x5c1e5f]
mov edx, 2
call fcn.0040742c
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xac]
xor eax, eax
mov al, byte [0x5c1e5e]
mov edx, 2
call fcn.0040742c
push dword [ebp - 0xac]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 8
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa8]
xor eax, eax
mov al, byte [0x5c1e5e]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a1fd4
lea edx, [ebp - 0xac]
xor eax, eax
mov al, byte [0x5c1e5f]
call fcn.004073fc
push dword [ebp - 0xac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 8
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e60]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 9
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e64]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xa
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e68]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xb
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5c1e6c]
add eax, dword [0x5c1e78]
mov edx, 8
call fcn.0040742c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x608]
call fcn.00423a60
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x608]
call fcn.00423a30
lea eax, [ebp - 0xb0]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xc
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e70]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xd
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e74]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xe
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e78]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x130]
mov edx, 0xf
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e7c]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
xor edx, edx
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
cmp dword [0x5c1e80], 0
jne 0x59f936
mov edx, dword [0x5bab38]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov dword [0x5c1e80], 0x200
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e80]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 1
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa8]
movzx eax, word [0x5c1e86]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xac]
movzx eax, word [0x5c1e84]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xac]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 2
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa8]
movzx eax, word [0x5c1e84]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a1fd4
lea edx, [ebp - 0xac]
movzx eax, word [0x5c1e86]
call fcn.004073fc
push dword [ebp - 0xac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 2
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa8]
movzx eax, word [0x5c1e8a]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xac]
movzx eax, word [0x5c1e88]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xac]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 3
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa8]
movzx eax, word [0x5c1e88]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a1fd4
lea edx, [ebp - 0xac]
movzx eax, word [0x5c1e8a]
call fcn.004073fc
push dword [ebp - 0xac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 3
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa8]
movzx eax, word [0x5c1e8e]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xac]
movzx eax, word [0x5c1e8c]
mov edx, 4
call fcn.0040742c
push dword [ebp - 0xac]
push 0x5a1e38
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 4
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa8]
movzx eax, word [0x5c1e8c]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a1fd4
lea edx, [ebp - 0xac]
movzx eax, word [0x5c1e8e]
call fcn.004073fc
push dword [ebp - 0xac]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 4
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e90]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 5
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 5
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a1fe0
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e94]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 6
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea edx, [ebp - 0xa4]
mov eax, dword [0x5c1e94]
call fcn.004073fc
lea eax, [ebp - 0xa4]
mov edx, 0x5a1ff4
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 6
call fcn.0044f470
mov eax, dword [eax + 8]
mov edx, 1
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e98]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 7
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1e9c]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 8
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [0x5c1e9c]
mov dword [0x5bab3c], eax
push 0x5bab40
push 0x5bab3c
mov eax, dword [0x5c1de0]
call fcn.00403e50
push eax
call sub.IMAGEHLP.DLL_MapFileAndCheckSumA
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, 4
ja case.default.0x59fe39
jmp dword [eax*4 + 0x59fe40]
push 0x5a2004
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5bab3c]
call fcn.0040742c
push dword [ebp - 0xa4]
push 0x5a1e38
push 0x5a202c
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [0x5bab40]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2048
lea eax, [ebp - 0x34]
mov edx, 6
call fcn.00403d4c
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5bab40]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x618]
call fcn.00423a60
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x61c]
mov dl, 1
call fcn.004239c8
jmp case.default.0x59fe39
lea eax, [ebp - 0x34]
mov edx, 0x5a2054
call fcn.00403aa8
jmp case.default.0x59fe39
lea eax, [ebp - 0x34]
mov edx, 0x5a206c
call fcn.00403aa8
jmp case.default.0x59fe39
lea eax, [ebp - 0x34]
mov edx, 0x5a2080
call fcn.00403aa8
jmp case.default.0x59fe39
lea eax, [ebp - 0x34]
mov edx, 0x5a2098
call fcn.00403aa8
cmp dword [ebp - 0x50], 0
je 0x59ff56
push dword [0x5baaa0]
push 0x5a20b0
push dword [ebp - 0x34]
push 0x5a20bc
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00403d4c
push dword [0x5baad8]
push 0x5a20c8
push dword [ebp - 0x34]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
movzx eax, word [0x5c1ea0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 9
ja case.0x59ff98.4
jmp dword [eax*4 + 0x59ff9f]
lea eax, [ebp - 0x34]
mov edx, 0x5a1f8c
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a20d4
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a20e4
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a20f8
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a2110
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a2128
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a2140
call fcn.00403aa8
jmp 0x5a003d
lea eax, [ebp - 0x34]
mov edx, 0x5a1f8c
call fcn.00403aa8
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1ea0]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 9
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 9
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x34]
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea eax, [ebp - 0x34]
call fcn.00403a10
mov ax, word [0x5c1ea2]
sub ax, 0x800
je 0x5a00da
sub ax, 0x1800
je 0x5a00e9
sub ax, 0x6000
je 0x5a00f8
jmp 0x5a0105
lea eax, [ebp - 0x34]
mov edx, 0x5a2154
call fcn.00403aa8
jmp 0x5a0105
lea eax, [ebp - 0x34]
mov edx, 0x5a2168
call fcn.00403aa8
jmp 0x5a0105
lea eax, [ebp - 0x34]
mov edx, 0x5a217c
call fcn.00403aa8
lea ecx, [ebp - 0xa4]
movzx eax, word [0x5c1ea2]
mov edx, 4
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xa
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xa
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x34]
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1ea4]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xb
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1ea8]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xc
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1eac]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xd
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1eb0]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xe
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1eb4]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xf
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0xf
call fcn.0044f470
mov eax, dword [eax + 8]
mov ecx, 0x5a219c
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xa4]
mov edx, 8
mov eax, dword [0x5c1eb8]
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x210]
mov eax, dword [eax + 0x130]
mov edx, 0x10
call fcn.0044f470
mov eax, dword [eax + 8]
xor edx, edx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x20]
call fcn.00594cf8
mov dword [0x5c1ed0], eax
mov eax, dword [0x5c1ed0]
shl eax, 3
mov dword [ebp - 0x28], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x28]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x5c1ec0], eax
mov eax, dword [0x5c1ec0]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
call fcn.00402b14
mov eax, dword [0x5c1df0]
mov edx, dword [ebp - 0x60]
add eax, edx
mov edx, dword [0x5c1ec0]
mov ecx, dword [ebp - 0x28]
call fcn.004027e0
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x28]
mov dword [0x5c1ebc], eax
mov eax, dword [0x5c1df0]
mov edx, dword [ebp - 0x60]
add eax, edx
mov dword [ebp - 0x84], eax
mov byte [ebp - 0x85], 0
mov eax, dword [0x5c1ec8]
dec eax
test eax, eax
jl 0x5a04ae
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
cmp dword [edx + eax*8 + 8], 0
jne 0x5a049f
push 0x5a21b0
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xa8]
push 0x5a21dc
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x38]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a21e8
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov byte [ebp - 0x85], 1
inc dword [ebp - 0x38]
dec dword [ebp - 0x9c]
jne 0x5a041f
cmp byte [ebp - 0x85], 0
je 0x5a07fe
push 0
mov cx, word [0x5a21fc]
xor edx, edx
mov eax, 0x5a2208
call fcn.00440b28
cmp eax, 6
jne 0x5a07fe
mov eax, dword [0x5c1ec8]
dec eax
test eax, eax
jl 0x5a07f7
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
cmp dword [edx + eax*8 + 8], 0
jne 0x5a07e8
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x10]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
mov dword [ecx + edx*8 + 8], eax
push 0x5a22fc
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xa8]
push 0x5a21dc
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x38]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2330
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 8]
lea ecx, [ebp - 0xb4]
mov edx, 8
call fcn.0040742c
push dword [ebp - 0xb4]
push 0x5a233c
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 8]
lea edx, [ebp - 0xb8]
call fcn.004073fc
push dword [ebp - 0xb8]
push 0x5a2348
lea eax, [ebp - 0xa4]
mov edx, 9
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x24]
and eax, 0xe0
cmp eax, 0x80
jne 0x5a07e8
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov dword [edx + eax*8 + 0x10], ecx
push 0x5a2354
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xa8]
push 0x5a21dc
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x38]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2330
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x10]
lea ecx, [ebp - 0xb4]
mov edx, 8
call fcn.0040742c
push dword [ebp - 0xb4]
push 0x5a233c
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x10]
lea edx, [ebp - 0xb8]
call fcn.004073fc
push dword [ebp - 0xb8]
push 0x5a2348
lea eax, [ebp - 0xa4]
mov edx, 9
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
cmp dword [edx + eax*8 + 0x14], 0
jne 0x5a07e8
cmp dword [ebp - 0x38], 0
jne 0x5a0701
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov ecx, dword [0x5c1e98]
mov dword [edx + eax*8 + 0x14], ecx
jmp 0x5a0731
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 - 0x14]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
add eax, dword [ecx + edx*8 - 0x18]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
mov dword [ecx + edx*8 + 0x14], eax
push 0x5a2388
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xa8]
push 0x5a21dc
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x38]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2330
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x14]
lea ecx, [ebp - 0xb4]
mov edx, 8
call fcn.0040742c
push dword [ebp - 0xb4]
push 0x5a233c
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [ebp - 0xb8]
call fcn.004073fc
push dword [ebp - 0xb8]
push 0x5a2348
lea eax, [ebp - 0xa4]
mov edx, 9
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
inc dword [ebp - 0x38]
dec dword [ebp - 0x9c]
jne 0x5a04f5
mov byte [0x5bacb0], 1
mov eax, dword [0x5c1ec8]
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x28], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x28]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x5c1ecc], eax
mov eax, dword [0x5c1ecc]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
call fcn.00402b14
mov eax, dword [0x5c1df0]
mov edx, dword [ebp - 0x60]
add eax, edx
mov edx, dword [0x5c1ecc]
mov ecx, dword [ebp - 0x28]
call fcn.004027e0
mov eax, dword [ebp - 0x28]
mov dword [0x5c1ec4], eax
mov eax, dword [0x5c1ec8]
shl eax, 3
lea eax, [eax + eax*2]
mov dword [ebp - 0x28], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x28]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x5c1f44], eax
mov eax, dword [0x5c1f44]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
call fcn.00402b14
mov eax, dword [0x5c1ec8]
shl eax, 5
mov dword [ebp - 0x28], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x28]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x5c1ed8], eax
mov eax, dword [0x5c1ed8]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
call fcn.00402b14
xor eax, eax
mov dword [0x5c1ed4], eax
mov eax, dword [0x5c1ed4]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x14]
lea ecx, [ebp - 0xa4]
mov edx, 8
call fcn.0040742c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x22c]
call fcn.00423a60
mov eax, dword [0x5c1ed4]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x14]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x5a0917
mov eax, dword [0x5c1e98]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x98], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x28]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x5c1e40], eax
mov eax, dword [0x5c1e40]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
call fcn.00402b14
mov edx, dword [0x5c1e40]
mov eax, dword [0x5c1df0]
mov ecx, dword [ebp - 0x28]
call fcn.004027e0
mov eax, dword [ebp - 0x28]
mov dword [0x5c1e38], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x130]
call fcn.0044f4e0
xor eax, eax
mov dword [0x5c1f48], eax
mov esi, 0x5a23b8
mov edi, 0x5c1f4c
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5a0a7f
mov eax, dword [0x5c1ec8]
dec eax
test eax, eax
jl 0x5a11ae
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov edx, dword [0x5c1f44]
xor ecx, ecx
mov dword [edx + eax*8], ecx
lea ecx, [ebp - 0xa4]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040742c
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [0x5c1ecc]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
mov edx, dword [ebp - 0xa8]
pop eax
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x1b8]
mov ecx, 0xff
call fcn.00403c68
lea edx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x5c1f44]
lea eax, [ecx + eax*8 + 4]
mov cl, 0x10
call fcn.004029f0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x64], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x38], 0
jne 0x5a0b96
cmp dword [ebp - 0x98], 0
je 0x5a0b96
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
cmp dword [edx + eax*8 + 0x14], 0
jne 0x5a0b96
mov eax, dword [0x5c1df0]
add eax, dword [ebp - 0x98]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0x1c], eax
jmp 0x5a0bd1
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x14]
add eax, dword [0x5c1df0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0x1c], eax
jmp 0x5a0c74
mov dword [ebp - 0x40], 0xffff
call fcn.00594cf8
mov dword [0x5c1ed0], eax
mov eax, dword [0x5c1ed0]
dec eax
test eax, eax
jl 0x5a0de4
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [0x5c1ec0]
mov edx, dword [ebp - 0x3c]
cmp dword [eax + edx*8], 0
je 0x5a0cbe
mov eax, dword [0x5c1ec0]
mov edx, dword [ebp - 0x3c]
cmp dword [eax + edx*8 + 4], 0
jne 0x5a0cc2
xor eax, eax
jmp 0x5a0cc4
mov al, 1
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x3c]
cmp eax, 0xe
ja case.default.0x5a0cd3
jmp dword [eax*4 + 0x5a0cda]
mov al, byte [ebp - 0x49]
mov byte [0x5bab48], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab4c], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab50], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab54], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab58], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab5c], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab60], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab64], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab68], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab6c], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab70], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab74], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab78], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab7c], al
jmp case.default.0x5a0cd3
mov al, byte [ebp - 0x49]
mov byte [0x5bab80], al
mov eax, dword [0x5c1ec0]
mov edx, dword [ebp - 0x3c]
mov eax, dword [eax + edx*8]
mov edx, dword [ebp - 0x38]
lea edx, [edx + edx*4]
mov ecx, dword [0x5c1ecc]
cmp eax, dword [ecx + edx*8 + 0xc]
jne 0x5a0dd5
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
jmp 0x5a0de4
inc dword [ebp - 0x3c]
dec dword [ebp - 0xa0]
jne 0x5a0ca1
mov eax, dword [0x5c1ed4]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov byte [edx + eax*8], 1
mov eax, dword [0x5c1ed4]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov ecx, dword [ebp - 0x38]
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [0x5c1ed4]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov ecx, dword [ebp - 0x40]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 8]
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0xc], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0x10], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0x14], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x5c1ed4]
shl edx, 2
mov ecx, dword [0x5c1ed8]
mov dword [ecx + edx*8 + 0x18], eax
jmp 0x5a0f49
inc dword [0x5c1ed4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x130]
call fcn.0044f404
mov dword [ebp - 0x48], eax
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.0044f084
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.0044f024
jmp 0x5a119f
inc dword [ebp - 0x38]
dec dword [ebp - 0x9c]
jne 0x5a0a9b
jmp 0x5a1344
xor eax, eax
mov dword [0x5bab44], eax
mov byte [0x5bab84], 0
mov eax, dword [0x5c1e98]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cdq
idiv dword [0x5c1e80]
imul dword [0x5c1e80]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x5c]
je 0x5a1381
mov eax, dword [ebp - 0x5c]
add eax, dword [0x5c1e80]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x98], 0
je 0x5a15cc
mov eax, dword [0x5c1ecc]
cmp dword [eax + 0x14], 0
jne 0x5a15cc
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x5a17f8
push 0x5a2400
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x24]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x24]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
push 0x5a243c
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x28]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x28]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2460
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [0x5c1df0]
add eax, dword [ebp - 0x24]
mov edx, dword [0x5bab44]
shl edx, 2
mov dword [edx*8 + 0x5c1ef8], eax
mov eax, dword [0x5bab44]
shl eax, 2
mov byte [eax*8 + 0x5c1edc], 1
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee0], 0xffffffff
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee4], 0x8000
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ee8], edx
mov eax, dword [0x5bab44]
shl eax, 2
xor edx, edx
mov dword [eax*8 + 0x5c1eec], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ef0], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x24]
mov dword [eax*8 + 0x5c1ef4], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov eax, dword [eax + 0x130]
call fcn.0044f404
mov dword [ebp - 0x48], eax
mov edx, 0x5a2474
mov eax, dword [ebp - 0x48]
call fcn.0044f084
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef0]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef4]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc dword [0x5bab44]
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.0044f024
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov dl, 1
call fcn.0042398c
mov byte [0x5bab84], 1
jmp 0x5a17f8
mov eax, dword [0x5c1ed8]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x5a17f8
push 0x5a2400
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x24]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x24]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
push 0x5a243c
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x28]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x28]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2460
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [0x5c1df0]
add eax, dword [ebp - 0x24]
mov edx, dword [0x5bab44]
shl edx, 2
mov dword [edx*8 + 0x5c1ef8], eax
mov eax, dword [0x5bab44]
shl eax, 2
mov byte [eax*8 + 0x5c1edc], 1
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee0], 0xffffffff
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee4], 0x8000
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ee8], edx
mov eax, dword [0x5bab44]
shl eax, 2
xor edx, edx
mov dword [eax*8 + 0x5c1eec], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ef0], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x24]
mov dword [eax*8 + 0x5c1ef4], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov eax, dword [eax + 0x130]
call fcn.0044f404
mov dword [ebp - 0x48], eax
mov edx, 0x5a2474
mov eax, dword [ebp - 0x48]
call fcn.0044f084
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef0]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef4]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc dword [0x5bab44]
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.0044f024
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov dl, 1
call fcn.0042398c
mov byte [0x5bab84], 1
mov eax, dword [0x5c1df4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], 0xffffffff
mov eax, dword [0x5c1ec8]
dec eax
cmp eax, 0
jl 0x5a186f
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shl eax, 2
mov edx, dword [0x5c1ed8]
cmp dword [edx + eax*8 + 0x18], 0
je 0x5a1866
mov eax, dword [ebp - 0x38]
shl eax, 2
mov edx, dword [0x5c1ed8]
cmp dword [edx + eax*8 + 0x14], 0
je 0x5a1866
mov eax, dword [ebp - 0x38]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov eax, dword [edx + eax*8 + 0x14]
mov edx, dword [ebp - 0x38]
shl edx, 2
mov ecx, dword [0x5c1ed8]
add eax, dword [ecx + edx*8 + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
jmp 0x5a186f
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffff
jne 0x5a1815
mov eax, dword [0x5c1df4]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jge 0x5a1a8f
mov eax, dword [ebp - 0x2c]
sub eax, dword [0x5c1df4]
mov dword [0x5bac00], eax
push 0x5a248c
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x2c]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a2430
push 0x5a24b0
lea edx, [ebp - 0xac]
mov eax, dword [0x5c1df4]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
push 0x5a1fd4
lea eax, [ebp - 0xa4]
mov edx, 7
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
push 0
push 0x5a248c
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x2c]
call fcn.004073fc
push dword [ebp - 0xa8]
push 0x5a2430
push 0x5a24b0
lea edx, [ebp - 0xac]
mov eax, dword [0x5c1df4]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
push 0x5a1fd4
push 0x5a24d0
push 0x5a24dc
lea eax, [ebp - 0xb4]
mov edx, dword [ebp - 0x40]
lea edx, [edx + edx*4]
mov ecx, dword [0x5c1ecc]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xb4]
push 0x5a21dc
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x40]
call fcn.004073fc
push dword [ebp - 0xb8]
push 0x5a251c
lea eax, [ebp - 0xa4]
mov edx, 0xd
call fcn.00403d4c
mov eax, dword [ebp - 0xa4]
mov cx, word [0x5a21fc]
xor edx, edx
call fcn.00440b28
cmp eax, 6
jne 0x5a1a8f
mov eax, dword [ebp - 0x40]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov ecx, dword [0x5c1df4]
sub ecx, dword [edx + eax*8 + 0x18]
mov eax, dword [ebp - 0x40]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov dword [edx + eax*8 + 0x14], ecx
push 0x5a2528
lea eax, [ebp - 0xa8]
mov edx, dword [ebp - 0x40]
lea edx, [edx + edx*4]
mov ecx, dword [0x5c1ecc]
lea edx, [ecx + edx*8]
mov ecx, 8
call fcn.00403c3c
push dword [ebp - 0xa8]
push 0x5a21dc
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x40]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2330
mov eax, dword [ebp - 0x40]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov eax, dword [edx + eax*8 + 0x14]
lea ecx, [ebp - 0xb4]
mov edx, 8
call fcn.0040742c
push dword [ebp - 0xb4]
push 0x5a233c
mov eax, dword [ebp - 0x40]
shl eax, 2
mov edx, dword [0x5c1ed8]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [ebp - 0xb8]
call fcn.004073fc
push dword [ebp - 0xb8]
push 0x5a2348
lea eax, [ebp - 0xa4]
mov edx, 9
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov byte [0x5bab88], 0
cmp dword [ebp - 0x28], 0
jle 0x5a1cb4
push 0x5a2564
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x2c]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x2c]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
push 0x5a2584
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [ebp - 0x28]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x28]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2460
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
mov eax, dword [0x5c1df0]
add eax, dword [ebp - 0x2c]
mov edx, dword [0x5bab44]
shl edx, 2
mov dword [edx*8 + 0x5c1ef8], eax
mov eax, dword [0x5bab44]
shl eax, 2
mov byte [eax*8 + 0x5c1edc], 1
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee0], 0xffffffff
mov eax, dword [0x5bab44]
shl eax, 2
mov dword [eax*8 + 0x5c1ee4], 0x8001
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ee8], edx
mov eax, dword [0x5bab44]
shl eax, 2
xor edx, edx
mov dword [eax*8 + 0x5c1eec], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x28]
mov dword [eax*8 + 0x5c1ef0], edx
mov eax, dword [0x5bab44]
shl eax, 2
mov edx, dword [ebp - 0x2c]
mov dword [eax*8 + 0x5c1ef4], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov eax, dword [eax + 0x130]
call fcn.0044f404
mov dword [ebp - 0x48], eax
mov edx, 0x5a25a8
mov eax, dword [ebp - 0x48]
call fcn.0044f084
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef0]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea ecx, [ebp - 0xa4]
mov eax, dword [0x5bab44]
shl eax, 2
mov eax, dword [eax*8 + 0x5c1ef4]
mov edx, 8
call fcn.0040742c
lea eax, [ebp - 0xa4]
mov edx, 0x5a1e38
call fcn.00403c94
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc dword [0x5bab44]
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.0044f024
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2a0]
mov dl, 1
call fcn.0042398c
mov byte [0x5bab88], 1
push 0x5a25c0
lea ecx, [ebp - 0xa8]
mov edx, 8
mov eax, dword [0x5c1df4]
call fcn.0040742c
push dword [ebp - 0xa8]
push 0x5a2420
lea edx, [ebp - 0xac]
mov eax, dword [0x5c1df4]
call fcn.004073fc
push dword [ebp - 0xac]
push 0x5a2430
lea eax, [ebp - 0xa4]
mov edx, 5
call fcn.00403d4c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
call fcn.00595ed8
cmp dword [ebp - 0x98], 0
je 0x5a1d33
mov eax, dword [0x5c1ecc]
cmp dword [eax + 0x14], 0
jne 0x5a1d33
mov eax, dword [ebp - 0x98]
mov dword [0x5babf4], eax
jmp 0x5a1d40
mov eax, dword [0x5c1ecc]
mov eax, dword [eax + 0x14]
mov dword [0x5babf4], eax
mov eax, dword [0x5c1ec8]
dec eax
test eax, eax
jl 0x5a1db0
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x10]
cdq
idiv dword [0x5c1e80]
imul dword [0x5c1e80]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*4]
mov edx, dword [0x5c1ecc]
mov eax, dword [edx + eax*8 + 0x10]
sub eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5a1d9c
mov eax, dword [0x5c1e80]
add dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
add dword [0x5babf4], eax
inc dword [ebp - 0x38]
dec dword [ebp - 0x9c]
jne 0x5a1d58
mov byte [ebp - 0x15], 1
mov byte [0x5baa5c], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a1e0e
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.00403a34
lea eax, [ebp - 0xb0]
call fcn.00403a10
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.00403a34
lea eax, [ebp - 0x8c]
call fcn.00403a10
lea eax, [ebp - 0x34]
call fcn.00403a10
ret