Function at 0x180043ae0
Capabilities:
Check http status code
Create http request
Log keystrokes via polling
Read data from internet
Receive data

Disassembly:
push rsi
push r12
push r13
push r14
push r15
mov eax, 0x1090
call fcn.180061240
sub rsp, rax
mov rax, qword [0x180084090]
xor rax, rsp
mov qword [rsp + 0x1070], rax
mov r13, qword [rsp + 0x10e0]
mov rsi, qword [rsp + 0x10f0]
mov r14, r9
mov dword [rsp + 0x30], r8d
mov r12d, edx
mov r15, rcx
test r8d, r8d
je 0x180043b45
test r9, r9
je 0x180043b36
test r13, r13
jne 0x180043b45
mov rcx, rsi
call fcn.1800017c0
xor eax, eax
jmp 0x180043e4a
mov qword [rsp + 0x10c8], rbx
mov qword [rsp + 0x1088], rbp
mov qword [rsp + 0x1080], rdi
mov edi, 1
lea ecx, [rdi + 0x13]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
mov dx, ax
bt edx, 0xf
jae 0x180043b9b
lea ecx, [rdi + 0x57]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov dx, ax
bt edx, 0xf
jae 0x180043b9b
lea ecx, [rdi + 0x59]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov dx, ax
bt edx, 0xf
cmovb edi, ebx
mov rcx, rsi
call fcn.180038760
test al, al
jne 0x180043bc9
mov rcx, rsi
call fcn.18000b4f0
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rax
mov dword [rsp + 0x20], ebx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rbp, rax
jmp 0x180043be5
lea rcx, str.CHM_MSDN
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov dword [rsp + 0x20], ebx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rbp, rax
test rbp, rbp
je 0x180043e28
mov r9d, 4
mov eax, 0x84283180
lea r8, [rsp + 0x38]
lea edx, [r9 + 0x3d]
mov ebx, 0x84083180
test r12d, r12d
mov rcx, rbp
mov dword [rsp + 0x38], 1
cmovne ebx, eax
call qword [sym.imp.WININET.dll_InternetSetOptionW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, str.Accept_Encoding:_gzip_r_nConnection:_close
lea r8, str.Accept_Encoding:_gzip_r_nConnection:_close
mov rdx, r15
repne scasw ax, word [rdi]
xor edi, edi
not rcx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], ebx
lea r9d, [rcx - 1]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov r12, rax
test rax, rax
je 0x180043e1f
xor eax, eax
xor ebx, ebx
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x40]
lea edx, [rdi + 0x13]
mov rcx, r12
mov word [rsp + 0x40], bx
mov qword [rsp + 0x42], rax
mov qword [rsp + 0x4a], rax
mov word [rsp + 0x52], ax
mov dword [rsp + 0x34], 0x14
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x180043e16
lea rcx, [rsp + 0x40]
call fcn.18004ff68
cmp eax, 0xc8
jne 0x180043e16
mov r15d, dword [rsp + 0x30]
lea edi, [rbx + 1]
test r15d, r15d
je 0x180043de4
lea rcx, [rsp + 0x61]
xor edx, edx
mov r8d, 0x1000
mov dword [rsp + 0x30], ebx
xor edi, edi
mov byte [rsp + 0x60], bl
call fcn.180051e50
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8d, 0x1000
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180043db3
cmp dword [rsp + 0x30], 0
jbe 0x180043da2
test rdi, rdi
jne 0x180043d34
mov ecx, 0x1001
call fcn.18004f7d0
xor edx, edx
mov r8d, 0x1001
mov rcx, rax
mov rdi, rax
call fcn.180051e50
jmp 0x180043d57
lea edx, [rbx + 0x1001]
mov rcx, rdi
call fcn.18004f888
mov ecx, ebx
xor edx, edx
add rcx, rax
mov r8d, 0x1001
mov rdi, rax
call fcn.180051e50
mov r8d, dword [rsp + 0x30]
mov ecx, ebx
lea rdx, [rsp + 0x60]
add rcx, rdi
call fcn.1800534b0
add ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x1001
call fcn.180051e50
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8d, 0x1000
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x180043d05
test ebx, ebx
jne 0x180043dbf
test rdi, rdi
je 0x180043db3
mov rcx, rdi
call fcn.18004f790
test r14, r14
je 0x180043dd7
xor eax, eax
mov qword [r14], rax
jmp 0x180043dd9
test r14, r14
je 0x180043dc7
mov qword [r14], rdi
test r13, r13
je 0x180043dd0
mov dword [r13], ebx
mov edi, 1
jmp 0x180043de4
xor eax, eax
test r13, r13
je 0x180043de2
mov dword [r13], eax
mov edi, eax
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r15d, r15d
je 0x180043e07
mov rcx, rsi
call fcn.1800017c0
mov eax, edi
jmp 0x180043e32
mov rcx, rsi
call fcn.1800017c0
mov eax, 1
jmp 0x180043e32
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call fcn.1800017c0
xor eax, eax
mov rbp, qword [rsp + 0x1088]
mov rbx, qword [rsp + 0x10c8]
mov rdi, qword [rsp + 0x1080]
mov rcx, qword [rsp + 0x1070]
xor rcx, rsp
call fcn.18004f770
add rsp, 0x1090
pop r15
pop r14
pop r13
pop r12
pop rsi
ret