Function at 0x180002640
Capabilities:
Contain obfuscated stackstrings
Create http request
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [0x180150010]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov r14, rcx
mov qword [rbp - 0x70], rcx
xor r13d, r13d
mov dword [rsp + 0x30], 0x42794d4c
mov dword [rsp + 0x34], 0x73776f72
mov word [rsp + 0x38], 0x7265
mov byte [rsp + 0x3a], r13b
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
lea edx, [r13 + 1]
lea rcx, [rsp + 0x31]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r12, rax
test rax, rax
jne 0x1800028a7
movdqa xmm0, xmmword [0x180145cf0]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0x64656c69
mov word [rsp + 0x44], 0x203a
mov byte [rsp + 0x46], r13b
lea rdx, [rsp + 0x31]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180004700
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
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___unsigned_long_int____ptr64]
lea rdx, [0x1800048d0]
mov rcx, rax
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 cl, 0x22
mov word [rsp + 0x30], 0x22
movsx ecx, cl
movzx eax, cx
xor ax, 0x67
mov word [rsp + 0x32], ax
movzx eax, cx
xor ax, 0x50
mov word [rsp + 0x34], ax
mov word [rsp + 0x36], ax
xor cx, 0x4d
mov word [rsp + 0x38], cx
mov word [rsp + 0x3a], ax
mov word [rsp + 0x3c], r13w
mov cl, 4
mov word [rsp + 0x50], 4
movsx edi, cl
movzx eax, di
xor ax, 0x42
mov word [rsp + 0x52], ax
movzx r10d, di
xor r10w, 0x65
mov word [rsp + 0x54], r10w
movzx ebx, di
xor bx, 0x6d
mov word [rsp + 0x56], bx
movzx r8d, di
xor r8w, 0x68
mov word [rsp + 0x58], r8w
movzx r11d, di
xor r11w, 0x61
mov word [rsp + 0x5a], r11w
movzx eax, di
xor ax, 0x60
mov word [rsp + 0x5c], ax
movzx edx, di
xor dx, 0x24
mov word [rsp + 0x5e], dx
movzx r9d, di
xor r9w, 0x70
mov word [rsp + 0x60], r9w
movzx eax, di
xor ax, 0x6b
mov word [rsp + 0x62], ax
mov word [rsp + 0x64], dx
mov word [rsp + 0x66], bx
movzx ecx, di
xor cx, 0x6a
mov word [rsp + 0x68], cx
mov word [rsp + 0x6a], bx
mov word [rsp + 0x6c], r9w
mov word [rsp + 0x6e], bx
mov word [rsp + 0x70], r10w
mov word [rsp + 0x72], r8w
mov word [rsp + 0x74], bx
movzx eax, di
xor ax, 0x7e
mov word [rsp + 0x76], ax
mov word [rsp + 0x78], r11w
mov word [rsp + 0x7a], dx
movzx eax, di
xor ax, 0x53
mov word [rsp + 0x7c], ax
mov word [rsp + 0x7e], bx
mov word [rbp - 0x80], cx
movzx eax, di
xor ax, 0x4d
mov word [rbp - 0x7e], ax
movzx eax, di
xor ax, 0x4a
mov word [rbp - 0x7c], ax
mov word [rbp - 0x7a], r11w
mov word [rbp - 0x78], r9w
xor di, 0x25
mov word [rbp - 0x76], di
mov word [rbp - 0x74], r13w
xor r9d, r9d
lea r8, [rsp + 0x32]
lea rdx, [rsp + 0x52]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], r13
xor r8d, r8d
lea rdx, [0x180053c3b]
mov rcx, r14
call fcn.180004d00
jmp 0x180002b29
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
lea rdx, str.http:__cmkey2.joelmatic.com
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov r15, rax
test rax, rax
jne 0x180002a3d
movdqa xmm0, xmmword [0x180145d90]
movdqu xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x69616620
mov dword [rsp + 0x64], 0x3a64656c
mov word [rsp + 0x68], 0x20
lea rdx, [rsp + 0x51]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180004700
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
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___unsigned_long_int____ptr64]
lea rdx, [0x1800048d0]
mov rcx, rax
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 cl, 0x5f
mov word [rsp + 0x50], 0x5f
movsx r8d, cl
movzx eax, r8w
xor ax, 0x19
mov word [rsp + 0x52], ax
movzx eax, r8w
xor ax, 0x3e
mov word [rsp + 0x54], ax
movzx eax, r8w
xor ax, 0x36
mov word [rsp + 0x56], ax
movzx eax, r8w
xor ax, 0x33
mov word [rsp + 0x58], ax
movzx edx, r8w
xor dx, 0x3a
mov word [rsp + 0x5a], dx
movzx eax, r8w
xor ax, 0x3b
mov word [rsp + 0x5c], ax
movzx ecx, r8w
xor cx, 0x7f
mov word [rsp + 0x5e], cx
movzx eax, r8w
xor ax, 0x2b
mov word [rsp + 0x60], ax
movzx eax, r8w
xor ax, 0x30
mov word [rsp + 0x62], ax
mov word [rsp + 0x64], cx
mov word [rsp + 0x66], ax
movzx eax, r8w
xor ax, 0x2f
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], dx
movzx eax, r8w
xor ax, 0x31
mov word [rsp + 0x6c], ax
mov word [rsp + 0x6e], cx
movzx eax, r8w
xor ax, 0xa
mov word [rsp + 0x70], ax
movzx eax, r8w
xor ax, 0xd
mov word [rsp + 0x72], ax
movzx eax, r8w
xor ax, 0x13
mov word [rsp + 0x74], ax
xor r8w, 0x7e
mov word [rsp + 0x76], r8w
mov word [rsp + 0x78], r13w
xor r9d, r9d
lea r8, [0x180053c80]
lea rdx, [rsp + 0x52]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x180002881
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov rdi, r13
mov qword [rsp + 0x60], r13
mov esi, 0xf
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x50], dil
mov dword [rbp - 0x70], r13d
lea r9, [rbp - 0x70]
mov r8d, 0x400
lea rdx, [rbp - 0x60]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180002b04
nop
mov eax, dword [rbp - 0x70]
test eax, eax
je 0x180002b04
mov ebx, eax
mov rax, rsi
sub rax, rdi
cmp rbx, rax
ja 0x180002ac4
lea rax, [rdi + rbx]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
cmp rsi, 0x10
cmovae rax, qword [rsp + 0x50]
add rdi, rax
mov r8d, ebx
lea rdx, [rbp - 0x60]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x180002ada
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x60]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180004b70
lea r9, [rbp - 0x70]
mov r8d, 0x400
lea rdx, [rbp - 0x60]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180002b04
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
jmp 0x180002a80
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x10], xmm1
mov rax, r14
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.180050580
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret