Function at 0x571c10
Capabilities:
Get system information on windows
Parse pe header

Disassembly:
push rbp
sub rsp, 0xf0
mov rbp, rsp
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0x100], rcx
nop
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov qword [rbp + 0xc0], 0
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov qword [rbp + 0xc8], 0
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe0], 0
mov eax, 0x3c3
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x571cc0
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
mov eax, 0x3b4
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x571d00
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x21f
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe0], 1
cmp dword [rbp + 0xe0], 4
jne 0x571c88
nop
lea rcx, [rbp + 0x50]
call fcn.0040e5d0
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x571d5f
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1d3
mov dword [rbp + 0xdc], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed40]
call fcn.0040fe40
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x571d92
mov eax, dword [rbp + 0xd4]
shl eax, 9
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060eca0]
call fcn.0040fe40
mov eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x571e00
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0xb8
mov dword [rbp + 0xe4], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0x50]
lea rdx, [0x005740c4]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x571e52
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0xea
mov dword [rbp + 0xe4], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x571ea4
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0xba
mov dword [rbp + 0xe4], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
nop
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x6e
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0xec]
jle 0x571f27
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
mov ecx, eax
shl eax, 0xa
sub eax, ecx
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x571f60
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x571ee5
nop
mov dword [rbp + 0xe8], 0
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x39
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x571fc0
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe8], 1
cmp dword [rbp + 0xe8], 3
jne 0x571f7f
nop
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0xb8], rax
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
mov ecx, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x572063
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x212
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572008
nop
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x5720c9
lea rcx, [rbp + 0xdc]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.0054f640
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x219
mov dword [rbp + 0xd8], eax
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 1
jge 0x572178
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xd8]
cmp eax, ecx
jge 0x572133
mov eax, dword [rbp + 0xd8]
sub eax, 0x1ae
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
sub eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xec]
jge 0x572159
mov eax, dword [rbp + 0xe4]
add eax, 0x358
mov dword [rbp + 0xec], eax
mov eax, 0x7e
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xe8], 1
jl 0x5720f2
nop
mov rax, qword [rbp + 0xb8]
cmp word [rax], 0x5a4d
je 0x572197
mov ecx, 0xc1
call sub.kernel32.dll_SetLastError
jmp 0x57406f
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0xb8]
movsxd rcx, dword [rcx + 0x3c]
lea rax, [rax + rcx]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xb0]
cmp dword [rax], 0x4550
je 0x5721d3
mov ecx, 0xc1
call sub.kernel32.dll_SetLastError
jmp 0x57406f
lea rcx, [rbp + 0xe8]
call fcn.005390e0
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x57221c
lea rcx, [rbp + 0xdc]
lea rdx, [rbp + 0xd8]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xec]
call fcn.00543a90
mov rax, qword [rbp + 0xb0]
cmp word [rax + 4], 0x8664
je 0x57223b
mov ecx, 0xc1
call sub.kernel32.dll_SetLastError
jmp 0x57406f
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1d2
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x5722b5
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.00555270
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1e7
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xdc]
call fcn.00571990
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1d4
mov dword [rbp + 0xdc], eax
call fcn.0056dc40
mov rax, qword [rbp + 0xb0]
mov eax, dword [rax + 0x38]
test eax, 1
je 0x572321
mov ecx, 0xc1
call sub.kernel32.dll_SetLastError
jmp 0x57406f
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572376
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.00561140
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x224
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x5723d1
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xdc]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
call fcn.00540330
call fcn.0056dc40
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax + 0x30]
mov rax, qword [rbp + 0xb0]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 4
call sub.kernel32.dll_VirtualAlloc_1
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
jne 0x5725f8
mov eax, dword [rbp + 0xd8]
sub eax, 0x18a
mov dword [rbp + 0xdc], eax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xe4]
call fcn.00538540
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x359
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572495
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x204
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x38e
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572455
nop
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
mov dword [rbp + 0xe4], 0
cmp dword [rbp + 0xe4], 2
jge 0x572579
add dword [rbp + 0xe4], 1
mov eax, dword [rbp + 0xe8]
add eax, 0x37f
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572534
mov eax, dword [rbp + 0xd8]
sub eax, 0x1aa
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xec]
jge 0x57255a
mov eax, dword [rbp + 0xe8]
add eax, 0x374
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x9a
mov dword [rbp + 0xe0], eax
cmp dword [rbp + 0xe4], 2
jl 0x5724ed
nop
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0056c8e0
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0056ce20
xor ecx, ecx
mov rax, qword [rbp + 0xb0]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 4
call sub.kernel32.dll_VirtualAlloc_1
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
jne 0x5725f8
mov ecx, 0xe
call sub.kernel32.dll_SetLastError
call fcn.0053b710
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0056ce20
jmp 0x57406f
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1e5
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x572632
lea rcx, [rbp + 0xdc]
call fcn.0054f920
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x237
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x57268b
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x28], rax
call fcn.0053e6e0
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x5726ba
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xdc]
call fcn.00541950
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x1f4
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe4]
call fcn.0056e6f0
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 1
jge 0x572784
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x57273e
mov eax, dword [rbp + 0xd8]
sub eax, 0x16d
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0xec]
jle 0x572765
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, 0x3fc
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xe8], 1
jl 0x5726fd
nop
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x37f
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x5727e1
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x22b
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, 0x394
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x57282d
mov eax, dword [rbp + 0xd4]
sub eax, 0x1bf
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x5727a1
nop
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x57287f
lea rcx, [rbp + 0xdc]
lea rdx, [rbp + 0xd8]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xec]
call fcn.00543a90
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x5728a0
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xe0]
call fcn.0053e4e0
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x35f
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x84
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x5728f4
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x354
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x99
mov dword [rbp + 0xe0], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x5728aa
nop
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x3ae
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
sub ecx, dword [rbp + 0xdc]
cmp eax, ecx
jle 0x572999
mov eax, dword [rbp + 0xd8]
sub eax, 0x1b8
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0xec]
jle 0x5729c0
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572946
nop
mov eax, dword [rbp + 0xd8]
sub eax, 0x1a9
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x378
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x572a3d
mov eax, dword [rbp + 0xd8]
add eax, 0x182
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0xec]
jle 0x572a5d
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, 0x391
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572a9d
mov eax, dword [rbp + 0xd8]
sub eax, 0x1bc
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x5729fd
nop
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xdc]
call fcn.0056ded0
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 2
jge 0x572b51
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xe4]
add eax, 0x35d
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572b2d
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x249
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x53
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xe8], 2
jl 0x572ae6
nop
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
sub eax, 0x181
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x350
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0xb6
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x572bde
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572b94
nop
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
mov edx, 8
mov r8d, 0x30
call sub.ntdll.dll_RtlAllocateHeap
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0
jne 0x572eb2
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov rcx, qword [rbp + 0xa8]
xor edx, edx
mov r8d, 0x8000
call sub.kernel32.dll_VirtualFree_1
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
add eax, 0x161
mov dword [rbp + 0xdc], eax
mov ecx, 0xe
call sub.kernel32.dll_SetLastError
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, 0x39a
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe4], eax
jne 0x572cc9
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xec], 0x32b
mov eax, dword [rbp + 0xdc]
add eax, 0x90
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x572d0b
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x572c91
nop
mov eax, dword [rbp + 0xd8]
add eax, 0x162
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
sub eax, 0x16f
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x63
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x572dae
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xec], 0x333
mov eax, dword [rbp + 0xdc]
add eax, 0x78
mov dword [rbp + 0xe0], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572d6d
nop
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe8], 0
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0xd
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x572e3e
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x218
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xe8], 1
cmp dword [rbp + 0xe8], 3
jne 0x572df5
nop
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x225
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xd8]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x28], rax
call fcn.0053a570
jmp 0x57406f
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x368
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x572efc
mov eax, dword [rbp + 0xd8]
sub eax, 0x1b3
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
sub eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xec]
jge 0x572f22
mov eax, dword [rbp + 0xe8]
add eax, 0x35d
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xd8]
cmp eax, ecx
jge 0x572f50
mov eax, dword [rbp + 0xd8]
sub eax, 0x1a8
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xec]
jge 0x572f76
mov eax, dword [rbp + 0xe8]
add eax, 0x352
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x572ebc
nop
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x343
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x89
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xec]
cmp dword [rbp + 0xe0], eax
jne 0x572ff1
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x378
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xd8]
cmp eax, ecx
jge 0x573031
mov eax, dword [rbp + 0xd8]
sub eax, 0x1c3
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x572fa7
nop
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xe0]
call fcn.00536250
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, 0x5b
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x5730c9
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x206
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x57306a
nop
mov dword [rbp + 0xe4], 0
cmp dword [rbp + 0xe4], 2
jge 0x573199
add dword [rbp + 0xe4], 1
mov eax, dword [rbp + 0xe8]
add eax, 0x34f
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x573138
mov eax, dword [rbp + 0xd8]
sub eax, 0x1ba
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xec]
jle 0x57315e
mov eax, dword [rbp + 0xe8]
add eax, 0x345
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x57318c
mov eax, dword [rbp + 0xd8]
sub eax, 0x18f
mov dword [rbp + 0xdc], eax
cmp dword [rbp + 0xe4], 2
jl 0x5730f1
nop
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe4]
call fcn.0056e6f0
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 2
jge 0x57322e
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, 0x3e3
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x573219
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x22e
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
cmp dword [rbp + 0xe8], 2
jl 0x5731c7
nop
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xa8]
mov qword [rax + 8], rcx
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 2
jge 0x5732e4
add dword [rbp + 0xe8], 1
mov eax, 0x37b
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x573297
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xe4]
add eax, 0x38c
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x5732d7
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x217
mov dword [rbp + 0xd8], eax
cmp dword [rbp + 0xe8], 2
jl 0x573258
nop
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
add ecx, dword [rbp + 0xd8]
cmp eax, ecx
jge 0x57330d
lea rcx, [rbp + 0xdc]
call fcn.00548a50
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x573366
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xdc]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x28], rax
call fcn.0053ec40
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x5733bb
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0xdc]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xec]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x28], rax
call fcn.005438f0
lea rcx, [rbp + 0xe8]
call fcn.00536080
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x573402
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xdc]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
call fcn.00540330
lea rcx, [rbp + 0x68]
call sub.kernel32.dll_GetNativeSystemInfo
mov rax, qword [rbp + 0xc8]
mov ecx, dword [rbp + 0x6c]
mov dword [rax + 0x2c], ecx
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x36e
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x57345a
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x21a
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x384
mov dword [rbp + 0xec], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x573422
nop
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
mov dword [rbp + 0xe8], 0
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x39
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xec]
cmp dword [rbp + 0xe0], eax
jne 0x5734e7
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xd4], eax
mov eax, 0xa
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe4], eax
add dword [rbp + 0xe8], 1
cmp dword [rbp + 0xe8], 3
jne 0x5734a5
nop
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x573571
lea rcx, [rbp + 0xdc]
lea rdx, [rbp + 0xd8]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xec]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 2
jge 0x5735ea
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xe4]
add eax, 0x35a
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe4], eax
jne 0x5735c3
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x245
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, 0x90
sub eax, dword [rbp + 0xe0]
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xe8], 2
jl 0x573584
nop
mov dword [rbp + 0xd4], 0
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 1
jge 0x573665
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x25
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe0], eax
jne 0x573650
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xd4], eax
cmp dword [rbp + 0xe8], 1
jl 0x573608
nop
mov eax, dword [rbp + 0xd8]
sub eax, 0x17c
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov edx, dword [rax + 0x54]
mov r8d, 0x1000
mov r9d, 4
call sub.kernel32.dll_VirtualAlloc_1
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xb0]
mov eax, dword [rax + 0x54]
mov qword [rbp + 0x48], rax
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xa0]
mov r8, qword [rbp + 0x48]
call fcn.004093c0
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xdc]
add ecx, dword [rbp + 0xd8]
cmp eax, ecx
jge 0x573730
lea rcx, [rbp + 0xdc]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.005553f0
mov eax, dword [rbp + 0xd8]
sub eax, 0x1ac
mov dword [rbp + 0xdc], eax
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
call fcn.0056e6f0
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 2
jge 0x5737d0
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
shl eax, 5
lea rax, [rax + rax*4]
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xd4]
cmp dword [rbp + 0xe4], eax
jne 0x5737bb
mov eax, dword [rbp + 0xec]
add eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
cmp dword [rbp + 0xe8], 2
jl 0x57376f
nop
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xb8]
movsxd rdx, dword [rdx + 0x3c]
lea rcx, [rcx + rdx]
mov qword [rax], rcx
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc8]
call fcn.00569a30
test al, al
jne 0x573820
call fcn.005679a0
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb0]
mov rcx, qword [rcx + 0x30]
neg rcx
lea rax, [rax + rcx]
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
je 0x573869
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x98]
call fcn.0056dfb0
mov rcx, qword [rbp + 0xc8]
mov byte [rcx + 0x29], al
jmp 0x573874
mov rax, qword [rbp + 0xc8]
mov byte [rax + 0x29], 1
mov rcx, qword [rbp + 0xc8]
call fcn.0056d1c0
mov rcx, qword [rbp + 0xc8]
call fcn.0056e810
test al, al
jne 0x573895
call fcn.005679a0
mov rcx, qword [rbp + 0xc8]
call fcn.0056b970
test al, al
jne 0x5738aa
call fcn.005679a0
mov rcx, qword [rbp + 0xc8]
call fcn.0056cb70
test al, al
jne 0x5738bf
call fcn.005679a0
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xec]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
mov eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
cmp dword [rax + 0x28], 0
je 0x573a04
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x28]
lea rax, [rax + rcx]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0xa8]
mov edx, 1
xor r8, r8
call qword [rbp + 0x60]
test eax, eax
setne al
mov byte [rbp + 0x5f], al
cmp byte [rbp + 0x5f], 0
jne 0x5739f9
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov ecx, 0x45a
call sub.kernel32.dll_SetLastError
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
add eax, 0x75
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xec]
cmp dword [rbp + 0xdc], eax
jne 0x5739b5
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x4a
mov dword [rbp + 0xe8], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 4
jne 0x57397a
nop
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0xe4]
mov dword [rbp + 0xec], eax
call fcn.005679a0
mov rax, qword [rbp + 0xc8]
mov byte [rax + 0x28], 1
mov dword [rbp + 0xe8], 0
cmp dword [rbp + 0xe8], 1
jge 0x573a82
add dword [rbp + 0xe8], 1
mov eax, dword [rbp + 0xe4]
add eax, 0x364
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe0]
mov ecx, dword [rbp + 0xdc]
sub ecx, dword [rbp + 0xd8]
cmp eax, ecx
jle 0x573a5e
mov eax, dword [rbp + 0xd4]
imul eax, eax, 0x24f
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1a
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xe8], 1
jl 0x573a17
nop
mov eax, dword [rbp + 0xec]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0xec], eax
mov dword [rbp + 0xe4], 0
mov eax, dword [rbp + 0xe8]
add eax, 0x36a
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
sub ecx, dword [rbp + 0xdc]
cmp eax, ecx
jle 0x573ae0
mov eax, dword [rbp + 0xd8]
sub eax, 0x195
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0xec]
jle 0x573b00
mov eax, dword [rbp + 0xe8]
sub dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x384
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe0]
add ecx, dword [rbp + 0xdc]
cmp eax, ecx
jge 0x573b40
mov eax, dword [rbp + 0xd8]
sub eax, 0x18e
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xe4], 1
cmp dword [rbp + 0xe4], 3
jne 0x573aa0
nop
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp + 0xe8]
jle 0x573b76
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xdc]
call fcn.0053e4e0
mov eax, dword [rbp + 0xd4]
sub eax, 0x1e0
mov dword [rbp + 0xdc], eax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
jmp 0x57405c
mov eax, dword [rbp + 0xec]
sub eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd4], eax
nop
lea rcx, [rbp + 0x50]
call fcn.0040e5d0
mov rax, qword [rbp + 0xc0]
lea rsp, [rbp + 0xf0]
pop rbp
ret