Function at 0x164fa3c20
Capabilities:
Generate random numbers via winapi
Get disk size
Get memory capacity

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 8], rcx
push rbp
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x16514b200]
xor rax, rsp
mov qword [rbp + 0xf0], rax
lea rcx, [rsp + 0x40]
call fcn.164fa6490
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x70], 0
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x70]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3ca6
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3cb7
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x71]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3cf1
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3d02
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x72]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3d3c
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3d4d
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x73]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3d87
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3d98
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x74]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3dd2
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3de3
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x75]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3e1d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3e2e
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x76]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3e68
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3e79
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x77]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3eb3
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3ec4
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rcx, 5
mov ebx, eax
and ecx, 0xf
mov dword [rsp + 0x30], eax
lea rdx, [rdx + rcx*4]
movzx eax, al
mov ecx, dword [rdx]
shl ecx, 8
or ecx, eax
shr ebx, 8
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3f0b
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3f1c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
shl ecx, 8
movzx eax, bl
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3f55
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3f66
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3fa1
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3fb2
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x33]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa3fed
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa3ffe
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rcx, 5
mov ebx, eax
and ecx, 0xf
mov dword [rsp + 0x30], eax
lea rdx, [rdx + rcx*4]
movzx eax, al
mov ecx, dword [rdx]
shl ecx, 8
or ecx, eax
shr ebx, 8
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4045
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4056
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
shl ecx, 8
movzx eax, bl
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa408f
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa40a0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa40db
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa40ec
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x33]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4127
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4138
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
xorps xmm0, xmm0
mov dword [rbp + 0xb0], 0x40
xor eax, eax
lea rcx, [rbp + 0xb0]
movups xmmword [rbp + 0xb4], xmm0
mov qword [rbp + 0xe4], rax
movups xmmword [rbp + 0xc4], xmm0
mov dword [rbp + 0xec], eax
movups xmmword [rbp + 0xd4], xmm0
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x164fa4660
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc0]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa41bb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa41cc
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc1]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4209
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa421a
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc2]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4257
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4268
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc3]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa42a5
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa42b6
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc4]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa42f3
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4304
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc5]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4341
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4352
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc6]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa438f
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa43a0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xc7]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa43dd
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa43f0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd0]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa442d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa443e
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd1]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa447b
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa448c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd2]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa44c9
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa44da
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd3]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4517
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4528
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd4]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4565
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4576
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd5]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa45b3
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa45c4
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd6]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4601
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4612
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0xd7]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa464f
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4660
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
xor r9d, r9d
lea rdx, [rbp + 0x78]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x164fa48d2
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x78]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa46b4
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa46c5
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x79]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa46ff
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4710
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7a]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa474a
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa475b
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7b]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4795
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa47a6
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7c]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa47e0
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa47f1
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7d]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa482b
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa483c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7e]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4876
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4887
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x7f]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa48c1
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa48d2
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetSystemTimes]
test eax, eax
je 0x164fa5068
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x84]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4932
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4943
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x85]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4980
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4991
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x86]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa49ce
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa49df
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x87]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4a1c
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4a30
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop dword [rax]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x80]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4a6d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4a7e
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x81]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4abb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4acc
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x82]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4b09
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4b1a
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x83]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4b57
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4b70
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8c]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4bad
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4bbe
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8d]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4bfb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4c0c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8e]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4c49
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4c5a
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8f]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4c97
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4cb0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x88]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4ced
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4cfe
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x89]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4d3b
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4d4c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8a]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4d89
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4d9a
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x8b]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4dd7
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4df0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x94]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4e2d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4e3e
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x95]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4e7b
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4e8c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x96]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4ec9
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4eda
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x97]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4f17
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4f30
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x90]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4f6d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4f7e
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x91]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa4fbb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa4fcc
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x92]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5009
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa501a
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x93]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5057
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5068
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
lea rcx, [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x164fa52ed
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x98]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa50ba
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa50cb
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x99]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5108
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5119
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9a]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5156
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5167
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9b]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa51a4
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa51b5
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9c]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa51f2
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5203
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9d]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5240
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5251
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9e]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa528e
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa529f
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rbp + 0x9f]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa52dc
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa52ed
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
rdtsc
mov rcx, qword [rsp + 0x40]
shr rcx, 5
and ecx, 0xf
shl rdx, 0x20
or rax, rdx
lea rdx, [rsp + 0x68]
lea rdx, [rdx + rcx*4]
mov qword [rsp + 0x30], rax
mov ecx, dword [rdx]
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5333
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5344
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x31]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa537f
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5390
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa53cb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa53dc
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x33]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5417
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5428
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x34]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5463
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5474
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x35]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa54af
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa54c0
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x36]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa54fb
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa550c
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x37]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov ebx, dword [rsp + 0x40]
add ebx, 8
mov dword [rsp + 0x40], ebx
jne 0x164fa5547
inc dword [rsp + 0x44]
xor ebx, ebx
mov dword [rsp + 0x40], ebx
test ebx, 0x1ff
jne 0x164fa555d
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov ebx, dword [rsp + 0x40]
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000040
lea r8, str.Microsoft_Base_Cryptographic_Provider_v1.0
xor edx, edx
lea rcx, [rbp + 0xa0]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x164fa5825
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x30]
mov edx, 8
mov qword [rsp + 0x30], 0
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
je 0x164fa5816
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x30]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa55ec
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa55fd
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x31]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5638
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5649
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5684
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5695
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x33]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa56d0
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa56e1
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x34]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa571c
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa572d
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x35]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa5768
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5779
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x36]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa57b4
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa57c5
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
shr rax, 5
and eax, 0xf
mov ecx, dword [rdx + rax*4]
lea rdx, [rdx + rax*4]
movzx eax, byte [rsp + 0x37]
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
mov ebx, dword [rsp + 0x40]
add ebx, 8
mov dword [rsp + 0x40], ebx
jne 0x164fa5800
inc dword [rsp + 0x44]
xor ebx, ebx
mov dword [rsp + 0x40], ebx
test ebx, 0x1ff
jne 0x164fa5816
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov ebx, dword [rsp + 0x40]
mov rcx, qword [rbp + 0xa0]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov edi, dword [rsp + 0x44]
lea rcx, [rsp + 0x68]
mov eax, ebx
shr rax, 5
and eax, 0xf
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
shl eax, 8
bts eax, 7
mov dword [rcx], eax
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa585d
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa5872
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov eax, dword [rsp + 0x40]
and eax, 0x1ff
cmp eax, 0x1c0
je 0x164fa58c9
nop
mov rax, qword [rsp + 0x40]
shr rax, 5
and eax, 0xf
shl dword [rsp + rax*4 + 0x68], 8
mov eax, dword [rsp + 0x40]
add eax, 8
mov dword [rsp + 0x40], eax
jne 0x164fa58a8
inc dword [rsp + 0x44]
xor eax, eax
mov dword [rsp + 0x40], eax
test eax, 0x1ff
jne 0x164fa58bd
lea rcx, [rsp + 0x40]
call fcn.164fa5fe0
mov eax, dword [rsp + 0x40]
and eax, 0x1ff
cmp eax, 0x1c0
jne 0x164fa5880
lea rcx, [rsp + 0x40]
mov dword [rbp - 0x60], edi
mov dword [rbp - 0x5c], ebx
call fcn.164fa5fe0
mov r8, qword [rbp + 0x110]
mov ecx, dword [rsp + 0x48]
mov eax, ecx
shr eax, 0x18
mov byte [r8], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 1], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 2], al
mov byte [r8 + 3], cl
mov ecx, dword [rsp + 0x4c]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 4], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 5], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 6], al
mov byte [r8 + 7], cl
mov ecx, dword [rsp + 0x50]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 8], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 9], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 0xa], al
mov byte [r8 + 0xb], cl
mov ecx, dword [rsp + 0x54]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 0xc], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 0xd], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 0xe], al
mov byte [r8 + 0xf], cl
mov ecx, dword [rsp + 0x58]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 0x10], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 0x11], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 0x12], al
mov byte [r8 + 0x13], cl
mov ecx, dword [rsp + 0x5c]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 0x14], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 0x15], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 0x16], al
mov byte [r8 + 0x17], cl
mov ecx, dword [rsp + 0x60]
mov eax, ecx
shr eax, 0x18
mov byte [r8 + 0x18], al
mov eax, ecx
shr eax, 0x10
mov byte [r8 + 0x19], al
mov eax, ecx
shr eax, 8
mov byte [r8 + 0x1a], al
mov edx, dword [rsp + 0x64]
mov rax, r8
mov byte [r8 + 0x1b], cl
mov ecx, edx
shr ecx, 0x18
mov byte [r8 + 0x1c], cl
mov ecx, edx
shr ecx, 0x10
mov byte [r8 + 0x1d], cl
mov ecx, edx
shr ecx, 8
mov byte [r8 + 0x1e], cl
mov byte [r8 + 0x1f], dl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.165001080
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret