Function at 0x1400dbc20
Capabilities:
Check http status code
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x13440
call fcn.1401d5c30
sub rsp, rax
mov qword [rsp + 0x13410], 0xfffffffffffffffe
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0x13438], rax
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x13170], rax
cmp qword [rsp + 0x13170], 0
jne 0x1400dbc95
xor eax, eax
jmp 0x1400dc5ad
xor eax, eax
mov word [rsp + 0x2760], ax
lea rdi, [rsp + 0x2762]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0x2540], ax
lea rdi, [rsp + 0x2542]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0x13190], ax
lea rdi, [rsp + 0x13192]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0x2320], ax
lea rdi, [rsp + 0x2322]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0x2070], ax
lea rdi, [rsp + 0x2072]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0x50], ax
lea rdi, [rsp + 0x52]
xor eax, eax
mov ecx, 0x2000
rep stosb byte [rdi], al
mov dword [rsp + 0x2290], 0x68
lea rax, [rsp + 0x2760]
mov qword [rsp + 0x2298], rax
lea rax, [rsp + 0x2540]
mov qword [rsp + 0x22a8], rax
lea rax, [rsp + 0x13190]
mov qword [rsp + 0x22b8], rax
lea rax, [rsp + 0x2320]
mov qword [rsp + 0x22c8], rax
lea rax, [rsp + 0x2070]
mov qword [rsp + 0x22d8], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x22e8], rax
mov dword [rsp + 0x22a0], 0x104
mov dword [rsp + 0x22b0], 0x104
mov dword [rsp + 0x22c0], 0x104
mov dword [rsp + 0x22d0], 0x104
mov dword [rsp + 0x22e0], 0x104
mov dword [rsp + 0x22f0], 0x1000
mov rdx, qword [rsp + 0x13450]
lea rcx, [rsp + 0x133e0]
call fcn.1400db9d0
mov qword [rsp + 0x13418], rax
mov rcx, qword [rsp + 0x13418]
call fcn.1400012c0
lea r9, [rsp + 0x2290]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
lea rcx, [rsp + 0x133e0]
call fcn.140001470
mov dword [rsp + 0x2310], 2
mov r9d, 4
lea r8, [rsp + 0x2310]
mov edx, 0x58
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov dword [rsp + 0x2534], eax
cmp dword [rsp + 0x22a4], 2
jne 0x1400dbe98
mov dword [rsp + 0x2310], 0x3300
mov r9d, 4
lea r8, [rsp + 0x2310]
mov edx, 0x1f
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov dword [rsp + 0x2534], eax
xor r9d, r9d
movzx r8d, word [rsp + 0x22b4]
mov rdx, qword [rsp + 0x22a8]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rsp + 0x2280], rax
cmp qword [rsp + 0x2280], 0
jne 0x1400dbee2
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
jmp 0x1400dc5ad
mov dword [rsp + 0x2758], 0x100
cmp dword [rsp + 0x22a4], 2
jne 0x1400dbf0a
mov eax, dword [rsp + 0x2758]
or eax, 0x800000
mov dword [rsp + 0x2758], eax
mov rcx, qword [rsp + 0x22d8]
call fcn.1400a81f4
mov rdi, rax
mov rcx, qword [rsp + 0x22e8]
call fcn.1400a81f4
lea rcx, [rdi + rax + 1]
mov eax, 2
mul rcx
mov rcx, rax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call fcn.140071aa8
mov qword [rsp + 0x133e8], rax
mov rax, qword [rsp + 0x133e8]
mov qword [rsp + 0x13180], rax
mov rdx, qword [rsp + 0x22d8]
mov rcx, qword [rsp + 0x13180]
call fcn.1400a9460
mov rdx, qword [rsp + 0x22e8]
mov rcx, qword [rsp + 0x13180]
call fcn.1400a9434
mov edx, dword [rsp + 0x2758]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x13180]
lea rdx, [0x140216500]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov qword [rsp + 0x2060], rax
cmp qword [rsp + 0x2060], 0
jne 0x1400dc019
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, qword [rsp + 0x13180]
mov qword [rsp + 0x133f0], rax
mov rcx, qword [rsp + 0x133f0]
call fcn.140071ab0
xor eax, eax
jmp 0x1400dc5ad
mov rax, qword [rsp + 0x13180]
mov qword [rsp + 0x133f8], rax
mov rcx, qword [rsp + 0x133f8]
call fcn.140071ab0
mov rdx, qword [rsp + 0x13470]
lea rcx, [rsp + 0x13400]
call fcn.1400db9d0
mov qword [rsp + 0x13420], rax
mov rax, qword [rsp + 0x13420]
mov qword [rsp + 0x13428], rax
mov rdx, qword [rsp + 0x13468]
lea rcx, [rsp + 0x13408]
call fcn.1400db9d0
mov qword [rsp + 0x13430], rax
mov rcx, qword [rsp + 0x13428]
call fcn.1400012c0
mov rdi, rax
mov rcx, qword [rsp + 0x13430]
call fcn.1400012c0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
mov r9, rax
mov r8d, 1
xor edx, edx
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpSetCredentials]
lea rcx, [rsp + 0x13408]
call fcn.140001470
nop
lea rcx, [rsp + 0x13400]
call fcn.140001470
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x1400dc143
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
jmp 0x1400dc5ad
xor edx, edx
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov dword [rsp + 0x2530], 0
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x2530]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
cmp dword [rsp + 0x2530], 0xc8
je 0x1400dc205
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [rsp + 0x2530], 0x191
jne 0x1400dc1e6
mov ecx, 0x41
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [rsp + 0x2530], 0x192
jne 0x1400dc1fe
mov ecx, 0x701
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1400dc5ad
xor eax, eax
mov word [rsp + 0x12970], ax
lea rdi, [rsp + 0x12972]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
mov dword [rsp + 0x13178], 0x400
mov qword [rsp + 0x2308], 0
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x13178]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x12970]
xor r8d, r8d
mov edx, 5
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x1400dc284
lea rcx, [rsp + 0x12970]
call fcn.1400a9488
mov qword [rsp + 0x2308], rax
mov qword [rsp + 0x2750], 0
cmp qword [rsp + 0x13460], 0
je 0x1400dc2b7
mov r9d, 0x640000
xor r8d, r8d
mov edx, 0x401
mov rcx, qword [rsp + 0x13460]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 3
mov edx, 0x40000000
mov rcx, qword [rsp + 0x13458]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x2300], rax
cmp qword [rsp + 0x2300], 0xffffffffffffffff
jne 0x1400dc330
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
jmp 0x1400dc5ad
cmp qword [rsp + 0x13478], 0
je 0x1400dc387
mov rax, qword [rsp + 0x13478]
cmp dword [rax], 0
jne 0x1400dc387
mov rcx, qword [rsp + 0x2300]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
jmp 0x1400dc5ad
lea r9, [rsp + 0x2288]
mov r8d, 0x10000
lea rdx, [rsp + 0x2970]
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov dword [rsp + 0x133a8], eax
mov eax, dword [rsp + 0x2288]
mov dword [rsp + 0x133a4], eax
cmp dword [rsp + 0x133a8], 0
je 0x1400dc4fb
cmp dword [rsp + 0x2288], 0
jbe 0x1400dc4fb
mov ecx, dword [rsp + 0x2288]
mov rax, qword [rsp + 0x2750]
add rax, rcx
mov qword [rsp + 0x2750], rax
cmp qword [rsp + 0x13460], 0
je 0x1400dc47b
cmp qword [rsp + 0x2308], 0
je 0x1400dc43b
mov rax, qword [rsp + 0x2750]
imul rax, rax, 0x64
xor edx, edx
div qword [rsp + 0x2308]
xor r9d, r9d
mov r8, rax
mov edx, 0x402
mov rcx, qword [rsp + 0x13460]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x133b0]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400dc47b
lea rcx, [rsp + 0x133b0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x133b0]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x1400dc43b
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x133a0]
mov r8d, dword [rsp + 0x133a4]
lea rdx, [rsp + 0x2970]
mov rcx, qword [rsp + 0x2300]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [rsp + 0x133a0]
cmp dword [rsp + 0x133a4], eax
je 0x1400dc4f9
mov rcx, qword [rsp + 0x2300]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
jmp 0x1400dc5ad
jmp 0x1400dc543
cmp dword [rsp + 0x133a8], 0
jne 0x1400dc541
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2300]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x1400dc5ad
jmp 0x1400dc56d
cmp qword [rsp + 0x2308], 0
je 0x1400dc562
mov rax, qword [rsp + 0x2308]
cmp qword [rsp + 0x2750], rax
jb 0x1400dc562
jmp 0x1400dc56d
xor eax, eax
cmp eax, 1
jne 0x1400dc330
mov rcx, qword [rsp + 0x2300]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2060]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x2280]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x13170]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, qword [rsp + 0x2750]
mov rcx, qword [rsp + 0x13438]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x13440
pop rdi
ret