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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xe0
mov rax, qword [0x004fb010]
xor rax, rsp
mov qword [rbp + 7], rax
mov r13, r9
mov rbx, rdx
mov r14, rcx
mov r12, qword [rbp + 0x7f]
xor r15d, r15d
mov qword [rbp - 1], r15
mov qword [rbp - 9], r15
mov edi, r15d
mov qword [rbp - 0x19], r15
mov esi, r15d
mov qword [rbp - 0x11], r15
mov qword [r9 + 0xf0], r15
mov rcx, qword [rcx + 0x38]
test rcx, rcx
je 0x40497a
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [r14 + 0x38], r15
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x40498d
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [r14 + 0x30], r15
mov rcx, qword [r14 + 0x28]
test rcx, rcx
je 0x4049a0
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [r14 + 0x28], r15
mov qword [r14 + 0x60], SafeArrayLock
mov byte [r14 + 0xa8], 0
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x4049bd
mov rcx, qword [r14]
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rcx, rax
mov qword [r14 + 0x28], rax
test rax, rax
je 0x404d1d
mov eax, dword [r14 + 0x48]
mov dword [rsp + 0x20], eax
mov r9d, dword [r14 + 0x44]
mov r8d, dword [r14 + 0x40]
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x40], 0x68
mov dword [rbp - 0x71], 1
mov dword [rbp - 0x41], 1
mov dword [rbp - 0x61], 1
mov dword [rbp - 0x51], 1
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x404d25
cmp dword [rbp - 0x7d], 2
jne 0x404a65
mov byte [r14 + 0x20], 1
mov eax, dword [rbp - 0x61]
cmp qword [rbp - 0x69], 0
cmove eax, r15d
mov dword [rbp - 0x61], eax
mov eax, dword [rbp - 0x51]
cmp qword [rbp - 0x59], 0
cmove eax, r15d
mov dword [rbp - 0x51], eax
mov r8d, dword [rbp - 0x71]
mov rdx, qword [rbp - 0x79]
lea rcx, [rbp - 1]
call fcn.00404410
test eax, eax
je 0x404d25
mov r8d, dword [rbp - 0x41]
mov rdx, qword [rbp - 0x49]
lea rcx, [rbp - 9]
call fcn.00404410
test eax, eax
je 0x404d25
mov r8d, dword [rbp - 0x61]
test r8d, r8d
je 0x404ad7
mov rdx, qword [rbp - 0x69]
lea rcx, [rbp - 0x19]
call fcn.00404410
mov rdi, qword [rbp - 0x19]
test eax, eax
je 0x404d25
mov r8d, dword [rbp - 0x51]
test r8d, r8d
je 0x404af9
mov rdx, qword [rbp - 0x59]
lea rcx, [rbp - 0x11]
call fcn.00404410
mov rsi, qword [rbp - 0x11]
test eax, eax
je 0x404d25
xor r9d, r9d
movzx r8d, word [rbp - 0x6d]
mov rdx, qword [rbp - 1]
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r10, rax
mov qword [r14 + 0x30], rax
test rax, rax
jne 0x404b28
mov dword [r14 + 0x60], 1
jmp 0x404d25
movzx eax, byte [r14 + 0x20]
neg al
sbb ecx, ecx
and ecx, 0x800000
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8, qword [rbp - 9]
lea rdx, [0x004ba8c0]
mov rcx, r10
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov qword [r14 + 0x38], rax
test rax, rax
je 0x404d1d
cmp qword [r14 + 0xb8], 0
je 0x404c05
mov rbx, qword [r14 + 0xb0]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x404c05
nop dword [rax + rax]
mov rax, qword [rbx + 0x1c]
mov qword [rbp - 0x21], rax
mov r9d, 4
lea r8, [rbp - 0x1d]
mov edx, eax
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x404bda
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x404bd5
cmp rbx, qword [rax + 0x10]
jne 0x404bd5
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x404bc2
mov rbx, rax
jmp 0x404bff
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x404bff
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x404bf0
cmp byte [rbx + 0x19], 0
je 0x404b90
cmp byte [r14 + 0x20], 0
je 0x404c2b
mov dword [rbp - 0x21], 0x3301
mov r9d, 4
lea r8, [rbp - 0x21]
lea edx, [r9 + 0x1b]
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
call fcn.0047a2c0
mov rbx, rax
call fcn.0047a2a4
cqo
idiv rbx
imul r15, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add r15, rax
mov rcx, qword [r14 + 0x38]
xor r9d, r9d
test r12, r12
jne 0x404c75
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r8d, r8d
xor edx, edx
jmp 0x404c8d
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov r8d, 0xffffffff
mov rdx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
cmp eax, 1
sete al
test al, al
jne 0x404cb4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.004044d0
mov dword [r14 + 0x60], 3
jmp 0x404d25
xor edx, edx
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x404d1d
call fcn.0047a2c0
mov rbx, rax
call fcn.0047a2a4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, r15
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [r13 + 0xf0], rdx
mov dword [r14 + 0x60], 0
mov bl, 1
jmp 0x404d27
mov dword [r14 + 0x60], 2
xor bl, bl
test rsi, rsi
je 0x404d35
mov rcx, rsi
call fcn.00479330
nop
test rdi, rdi
je 0x404d43
mov rcx, rdi
call fcn.00479330
nop
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x404d52
call fcn.00479330
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x404d60
call fcn.00479330
movzx eax, bl
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.00479310
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret