Function at 0x14008dd60
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Send data
Send http request

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1040]
mov eax, 0x1140
call fcn.1400c2e00
sub rsp, rax
mov rax, qword [0x140106010]
xor rax, rsp
mov qword [rbp + 0x1030], rax
mov qword [rsp + 0x60], r8
mov r14, rdx
mov rsi, rcx
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov r13d, ebx
mov edi, ebx
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
cmp qword [rsi + 0x18], rbx
jne 0x14008de64
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
mov r8, qword [rbp - 0x50]
mov rax, r8
neg rax
sbb edx, edx
and edx, 3
mov dword [rsp + 0x20], 0x10000000
mov r9, qword [rbp - 0x48]
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsi + 0x18], rax
test rax, rax
jne 0x14008de1e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
jne 0x14008e11d
jmp 0x14008de64
lea r8, [rsi + 8]
mov edx, 3
lea r9d, [rdx + 1]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov r9d, 4
lea r8, [rsi + 0xc]
lea edx, [r9 + 1]
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov r9d, 4
lea r8, [rsi + 0xc]
lea edx, [r9 + 2]
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
movzx ebx, word [r14 + 0x5c]
mov r8d, dword [r14 + 0x58]
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], 7
mov rdx, qword [r14 + 0x50]
lea rcx, [rsp + 0x78]
call fcn.140009140
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
xor r9d, r9d
movzx r8d, bx
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r15, rax
mov qword [rsp + 0x68], rax
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14008def8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008def3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e79e
call fcn.140091bc0
xor ebx, ebx
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], bx
test r15, r15
jne 0x14008df39
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e1ed
mov edi, dword [rsi + 0x50]
test edi, edi
jne 0x14008e11d
mov r15, qword [rsi + 0x48]
mov qword [rsp + 0x68], r15
mov r8d, dword [r14 + 0x48]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov rdx, qword [r14 + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140009140
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
lea rdx, str.https
call fcn.1400a5a90
test eax, eax
sete bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14008dfc2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008dfbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e7a4
call fcn.140091bc0
movzx ebx, bl
shl ebx, 0x17
add ebx, 0x100
lea rax, [0x1400eade0]
mov qword [rbp + 0x18], rax
xor eax, eax
mov qword [rbp + 0x20], rax
mov r8d, dword [r14 + 0x88]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 7
mov rdx, qword [r14 + 0x80]
lea rcx, [rsp + 0x40]
call fcn.140009140
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r8, qword [rsp + 0x40]
lea rax, str.POST
lea rdx, [0x1400eadf8]
cmp dword [r14 + 8], 4
cmove rdx, rax
mov dword [rsp + 0x30], ebx
lea rax, [rbp + 0x18]
mov qword [rsp + 0x28], rax
xor ebx, ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r13, rax
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14008e097
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e092
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e7aa
call fcn.140091bc0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
test r13, r13
jne 0x14008e0cf
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e1ed
mov edi, dword [rsi + 0x50]
test edi, edi
jne 0x14008e11d
mov r13, qword [rsi + 0x48]
xor r9d, r9d
mov r8d, 0x17e4c00
lea rdx, [0x14008dca0]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp rax, 0xffffffffffffffff
jne 0x14008e0fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
jne 0x14008e11d
cmp byte [rsi + 0x10], bl
jne 0x14008e11d
mov dword [rbp - 0x40], 2
mov r9d, 4
lea r8, [rbp - 0x40]
lea edx, [r9 + 0x3b]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
lea r15, vtable.MemoryStream.0
nop dword [rax]
nop dword [rax + rax]
mov eax, edi
mov edi, ebx
cmp eax, 0x2f00
cmovne edi, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 0x18], r15
movdqu xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
mov byte [rbp - 0x10], 1
test edi, edi
jne 0x14008e71c
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], bx
lea rdx, [r14 + 0xa0]
lea rcx, [rsi + 0x30]
lea r8, [rbp - 0x38]
call fcn.14008d6c0
mov rcx, qword [r14 + 0xb8]
test rcx, rcx
je 0x14008e1a5
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
mov rax, qword [rax + 0x10]
call qword [case.0x14007fe1f.0]
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rdx, qword [rbp - 0x38]
mov qword [rsp + 0x30], rsi
mov eax, dword [rbp + 8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, dword [rbp - 0x28]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x14008e1fe
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e1f7
mov edi, dword [rsi + 0x50]
jmp 0x14008e206
mov edi, 0x2ee2
jmp 0x14008e11d
mov edi, 0x2ee2
jmp 0x14008e206
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rdx, qword [rbp - 0x20]
cmp edi, 0x2f00
jne 0x14008e288
cmp rdx, 8
jb 0x14008e24e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e249
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e7b0
call fcn.140091bc0
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], bx
mov qword [rbp - 0x18], r15
cmp byte [rbp - 0x10], 0
je 0x14008e130
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14008e130
mov edx, 1
call fcn.140091bc0
jmp 0x14008e130
cmp rdx, 8
jb 0x14008e2c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e2bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e7b0
call fcn.140091bc0
test edi, edi
jne 0x14008e71c
cmp qword [rbp + 8], 0
jle 0x14008e34a
xor r9d, r9d
mov r8d, dword [rbp + 8]
mov rdx, qword [rbp - 8]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
je 0x14008e308
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e301
mov edi, dword [rsi + 0x50]
jmp 0x14008e310
mov edi, 0x2ee2
jmp 0x14008e310
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x2f00
jne 0x14008e342
mov qword [rbp - 0x18], r15
cmp byte [rbp - 0x10], 0
je 0x14008e130
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14008e130
mov edx, 1
call fcn.140091bc0
jmp 0x14008e130
test edi, edi
jne 0x14008e71c
xor edx, edx
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x14008e376
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e36f
mov edi, dword [rsi + 0x50]
jmp 0x14008e37e
mov edi, 0x2ee2
jmp 0x14008e37e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x2f00
jne 0x14008e3b0
mov qword [rbp - 0x18], r15
cmp byte [rbp - 0x10], 0
je 0x14008e130
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14008e130
mov edx, 1
call fcn.140091bc0
jmp 0x14008e130
test edi, edi
jne 0x14008e71c
mov dword [rbp - 0x68], 4
mov dword [rbp - 0x3c], ebx
mov dword [rbp - 0x40], ebx
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov r14, qword [rsp + 0x60]
test eax, eax
je 0x14008e3f8
mov eax, dword [rbp - 0x40]
mov dword [r14 + 8], eax
mov dword [rbp - 0x68], 4
mov r12, rbx
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x3c]
xor r8d, r8d
mov edx, 0x20000005
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x14008e479
cmp dword [rbp - 0x3c], 0
jbe 0x14008e479
mov ecx, 0x30
call fcn.140091bc8
mov r12, rax
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax], r15
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], rbx
mov byte [rax + 8], 1
mov edx, dword [rbp - 0x3c]
mov rcx, rax
mov rax, qword [0x1400df590]
call qword [case.0x14007fe1f.0]
mov dword [rbp - 0x68], ebx
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x16]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14008e67a
mov ecx, dword [rbp - 0x68]
call fcn.1400a3674
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14008e678
xor eax, eax
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
lea edx, [r8 + 0x15]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x14008e670
mov rax, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x14008e500
lea r15, [rbx + rax*2]
mov edx, 0x3a
mov rcx, rbx
call fcn.140096740
test rax, rax
je 0x14008e64e
add rax, 2
lea rcx, [rax - 2]
xor edx, edx
nop
mov word [rcx], dx
lea rcx, [rcx - 2]
cmp word [rcx], 0x20
je 0x14008e530
cmp word [rax], 0x20
jne 0x14008e54d
add rax, 2
cmp word [rax], 0x20
je 0x14008e543
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], dx
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], dx
jne 0x14008e570
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140009140
nop
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], ax
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], ax
jne 0x14008e5a4
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140009140
nop
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x38]
lea rcx, [r14 + 0x10]
call fcn.14008d540
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x14008e60e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e608
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e7b6
call fcn.140091bc0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14008e64e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e649
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e798
call fcn.140091bc0
lea rbx, [r15 + 2]
cmp word [r15 + 2], 0
je 0x14008e664
mov r14, qword [rsp + 0x60]
jmp 0x14008e4f0
mov rbx, qword [rsp + 0x70]
lea r15, vtable.MemoryStream.0
mov rcx, rbx
call fcn.1400a16a0
xor ebx, ebx
test r12, r12
je 0x14008e71c
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x30]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x14008e6e0
mov edx, dword [rsi + 0xc]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14008e6d9
mov edi, dword [rsi + 0x50]
test edi, edi
jne 0x14008e6e8
mov ecx, dword [rsi + 0x54]
test ecx, ecx
je 0x14008e6e8
mov rax, qword [r12]
mov r8d, ecx
lea rdx, [rbp + 0x30]
mov rcx, r12
mov rax, qword [rax + 0x20]
call qword [case.0x14007fe1f.0]
mov dword [rsi + 0x54], ebx
jmp 0x14008e683
mov edi, 0x2ee2
jmp 0x14008e6e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, 0x28
call fcn.140091bc8
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
mov rdx, r12
mov rcx, rax
call fcn.14008e890
nop
mov r8, qword [rsp + 0x60]
mov qword [r8 + 0x28], rax
test r13, r13
je 0x14008e739
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov edx, 0xffffffff
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14008e749
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test edi, edi
sete bl
mov qword [rbp - 0x18], r15
cmp byte [rbp - 0x10], 0
je 0x14008e76b
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14008e76b
mov edx, 1
call fcn.140091bc0
movzx eax, bl
mov rcx, qword [rbp + 0x1030]
xor rcx, rsp
call fcn.140091ba0
mov rbx, qword [rsp + 0x1198]
add rsp, 0x1140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14009b188
nop
call fcn.14009b188
int3
call fcn.14009b188
int3
call fcn.14009b188
nop
call fcn.14009b188
nop
call fcn.14009b188
int3