Function at 0x180039c70
Capabilities:
Initialize winhttp library
Make an http request with a cookie
Prepare http request
Read http header
Receive http response
Send data
Send http request
Set http header
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1210]
mov eax, 0x1310
call fcn.1800ce0d0
sub rsp, rax
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x1360], rbx
mov rax, qword [0x1801c2938]
xor rax, rsp
mov qword [rbp + 0x1200], rax
mov rsi, rcx
cmp qword [rcx + 0x20], 0
ja 0x180039ccb
mov dword [rcx + 0x1a8], 3
jmp 0x18003ad87
lea rcx, [rbp + 0xb0]
call fcn.1800143e0
nop
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 8
cmovae rcx, qword [rbp + 0xb0]
lea rdx, [0x18014a6f0]
call fcn.1800c0618
lea rcx, [rbp + 0xb0]
test eax, eax
jne 0x180039d13
lea r8d, [rax + 3]
lea rdx, [0x18014a6f0]
jmp 0x180039d49
cmp qword [rbp + 0xc8], 8
cmovae rcx, qword [rbp + 0xb0]
lea rdx, [0x180152748]
call fcn.1800c0618
test eax, eax
jne 0x18003ad71
lea r8d, [rax + 4]
lea rdx, [0x180152748]
lea rcx, [rbp + 0xb0]
call fcn.18001c940
mov bl, 1
mov dword [rsp + 0x50], ebx
xor r13d, r13d
cmp qword [rsi], r13
jne 0x180039d99
lea rcx, [rsi + 0x1d8]
cmp qword [rcx + 0x18], 8
jb 0x180039d6d
mov rcx, qword [rcx]
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsi], rax
test rax, rax
jne 0x180039d99
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
jmp 0x18003ad7b
mov eax, dword [rsi + 0x28c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi + 0x288]
mov r8d, dword [rsi + 0x284]
mov edx, dword [rsi + 0x280]
mov rcx, qword [rsi]
call qword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
mov word [rbp + 0x3b0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x3b2]
call fcn.1800c6a90
mov word [rbp + 0x7d0], r13w
xor edx, edx
mov r8d, 0xa26
lea rcx, [rbp + 0x7d2]
call fcn.1800c6a90
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x40]
call fcn.1800c6a90
mov dword [rbp + 0x40], 0x68
lea rax, [rbp + 0x3b0]
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x60], 0x104
lea rax, [rbp + 0x7d0]
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x90], 0x514
mov eax, 1
mov dword [rbp + 0x50], eax
lea r12, [rsi + 0x10]
cmp qword [r12 + 0x18], 8
jb 0x180039e52
mov rcx, qword [r12]
jmp 0x180039e55
mov rcx, r12
lea r9, [rbp + 0x40]
xor r8d, r8d
mov edx, dword [rsi + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x18003ad60
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x3b0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x38]
lea rdx, [rbp + 0x3b0]
call fcn.18001c940
xor r9d, r9d
movzx r8d, word [rbp + 0x64]
lea rdx, [rbp + 0x3b0]
mov rcx, qword [rsi]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rbp + 0x30], rax
test rax, rax
je 0x18003ad60
mov ecx, r13d
mov edx, 0x800000
cmp dword [rbp + 0x54], 2
cmove ecx, edx
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 8
cmovae rdx, qword [rbp + 0xb0]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8, qword [rbp + 0x88]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
mov qword [rbp + 0x10], rax
test rax, rax
je 0x18003ad55
cmp byte [rsi + 8], r13b
jne 0x180039f3c
cmp dword [rbp + 0x54], 2
jne 0x180039f3c
mov dword [rsp + 0x48], 0x3100
mov r9d, 4
lea r8, [rsp + 0x48]
lea edx, [r9 + 0x1b]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
xor r14b, r14b
mov byte [rsp + 0x44], r14b
mov ecx, r13d
nop word [rax + rax]
mov eax, ecx
inc ecx
mov dword [rsp + 0x78], ecx
cmp eax, 3
jae 0x18003ad38
mov rax, qword [rsi + 0x168]
test rax, rax
je 0x180039fa0
lea rdx, [rsi + 0x158]
cmp qword [rdx + 0x18], 8
jb 0x180039f7e
mov rdx, qword [rdx]
mov r9d, 0x1000000
mov r8d, eax
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x180039fa0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
cmp qword [rsi + 0x130], 0
jbe 0x18003a021
lea rdx, str.Cookie:
lea rcx, [rbp + 0x100]
call fcn.180014430
nop
lea rdx, [rsi + 0x120]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x100]
call fcn.180018970
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov r9d, 0x1000000
mov r8d, dword [rbp + 0x110]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x18003a015
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
lea rcx, [rbp + 0x100]
call fcn.1800a20a0
cmp qword [rsi + 0x190], 0
jbe 0x18003a132
xor eax, eax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x18], 3
mov word [rbp + 0x1a0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x1a2]
call fcn.1800c6a90
lea r8, [rsi + 0x180]
cmp qword [r8 + 0x18], 8
jb 0x18003a071
mov r8, qword [r8]
mov edx, 0x104
lea rcx, [rbp + 0x1a0]
call fcn.1800c04a8
lea rdx, [rbp + 0x1a0]
mov qword [rbp + 0x20], rdx
mov r9d, DispGetParam
lea r8, [rbp + 0x18]
lea edx, [r9 + 0xe]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x18003a0b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
mov rax, qword [rsi + 0x218]
test rax, rax
je 0x18003a132
lea r8, [rsi + 0x208]
cmp qword [r8 + 0x18], 8
jb 0x18003a0d1
mov r8, qword [r8]
lea r9d, [rax + rax]
mov edx, 0x1002
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x18003a0f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
mov rax, qword [rsi + 0x240]
test rax, rax
je 0x18003a132
lea r8, [rsi + 0x230]
cmp qword [r8 + 0x18], 8
jb 0x18003a110
mov r8, qword [r8]
lea r9d, [rax + rax]
mov edx, 0x1003
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x18003a132
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
xor bl, bl
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x18003a35c
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x18003ad17
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x18003a25f
xor ecx, ecx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x60], 3
mov edi, 1
mov dword [rbp - 0x5c], edi
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x44], edi
mov dword [rbp - 0x48], r13d
mov qword [rbp - 0x50], r13
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
cmp qword [r12 + 0x18], 8
jb 0x18003a1d9
mov rdx, qword [r12]
jmp 0x18003a1dc
mov rdx, r12
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x60]
mov rcx, qword [rsi]
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x18003a31b
mov r9d, DispGetParam
lea r8, [rbp - 0x20]
lea edx, [r9 + 0xe]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x18003a238
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
movzx ebx, bl
test eax, eax
cmovne ebx, edi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x18003a247
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x18003a327
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x18003a327
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x18003a345
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov dword [rbp - 8], 3
mov word [rbp + 0x1a0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x1a2]
call fcn.1800c6a90
mov r8, rdi
mov edx, 0x104
lea rcx, [rbp + 0x1a0]
call fcn.1800c04a8
lea rdx, [rbp + 0x1a0]
mov qword [rbp], rdx
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x18003a300
mov word [rbp + 0x5c0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x5c2]
call fcn.1800c6a90
mov r8, rdi
mov edx, 0x104
lea rcx, [rbp + 0x5c0]
call fcn.1800c04a8
lea rdx, [rbp + 0x5c0]
mov qword [rbp + 8], rdx
mov r9d, DispGetParam
lea r8, [rbp - 8]
lea edx, [r9 + 0xe]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x18003a327
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x18003a336
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x18003a345
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18003a354
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test bl, bl
je 0x18003ad23
mov rdx, qword [rsi + 0x148]
test rdx, rdx
je 0x18003a392
mov dword [rsp + 0x48], r13d
lea r9, [rsp + 0x48]
mov r8d, dword [rsi + 0x150]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
jne 0x18003a392
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x18003ad17
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x28], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x16]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x18003a3df
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x18003a7b5
mov ecx, dword [rsp + 0x40]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1800bd064
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18003a7b5
mov r8d, dword [rsp + 0x40]
add r8, r8
xor edx, edx
mov rcx, rax
call fcn.1800c6a90
mov qword [rsp + 0x28], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r12
xor r8d, r8d
lea edx, [r8 + 0x16]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x18003a7ad
xor eax, eax
or r15, 0xffffffffffffffff
mov rcx, r15
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r12
lea rcx, [rsi + 0x60]
call fcn.18001c940
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
lea rdx, [0x1801483a0]
lea rcx, [rbp + 0xd8]
call fcn.180014430
nop
cmp byte [rsi + 0x200], 0
jne 0x18003a508
lea r8d, [r15 + 0x1a]
lea rdx, str.charset_A_Za_z0_9___
lea rcx, [rbp + 0xd8]
call fcn.18001c940
lea r8, [rsp + 0x58]
lea rdx, [rsi + 0x60]
lea rcx, [rbp + 0xd8]
call fcn.1800393a0
test al, al
je 0x18003a508
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18003a508
lea rcx, [rsi + 0xb0]
mov r9, r15
xor r8d, r8d
mov rdx, rdi
call fcn.180018c00
mov r8d, DispGetParam
lea rdx, str.Content_Length:__0_9_
lea rcx, [rbp + 0xd8]
call fcn.18001c940
lea r8, [rsp + 0x58]
lea rdx, [rsi + 0x60]
lea rcx, [rbp + 0xd8]
call fcn.1800393a0
test al, al
je 0x18003a57c
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18003a57c
cmp qword [rdi + 0x18], 8
jb 0x18003a56e
mov rdi, qword [rdi]
mov rcx, rdi
call fcn.1800c0f48
mov dword [rsi + 0xf0], eax
mov r8d, SafeArrayGetLBound
lea rdx, str.Location:__0_9_
lea rcx, [rbp + 0xd8]
call fcn.18001c940
lea r8, [rsp + 0x58]
lea rdx, [rsi + 0x60]
lea rcx, [rbp + 0xd8]
call fcn.1800393a0
test al, al
je 0x18003a5ed
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18003a5ed
lea rcx, [rsi + 0x258]
mov r9, r15
xor r8d, r8d
mov rdx, rdi
call fcn.180018c00
mov r8d, reloc.OLEAUT32.dll_SafeArrayUnlock
lea rdx, str.Set_Cookie:_b.__n
lea rcx, [rbp + 0xd8]
call fcn.18001c940
lea r8, [rsp + 0x58]
lea rdx, [rsi + 0x60]
lea rcx, [rbp + 0xd8]
call fcn.1800393a0
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
test al, al
je 0x18003a767
mov rcx, r15
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
mov r12, rdx
sar r12, 4
mov rax, r12
shr rax, 0x3f
add r12, rax
je 0x18003a762
mov rdi, r13
test r12, r12
je 0x18003a6c2
lea r14, [r12 - 1]
or r15, 0xffffffffffffffff
nop dword [rax + rax]
mov r9, r15
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsi + 0xf8]
call fcn.180018970
cmp rdi, r14
je 0x18003a6a3
mov r8d, 2
lea rdx, [0x180152834]
lea rcx, [rsi + 0xf8]
call fcn.180018aa0
inc rdi
add rbx, 0x28
cmp rdi, r12
jb 0x18003a670
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x44]
xor r13d, r13d
lea rdx, [0x1801490c4]
lea rcx, [rbp + 0x150]
call fcn.180014430
nop
lea r8, [rbp + 0x150]
lea rdx, [rsi + 0xf8]
lea rcx, [rbp + 0x178]
call fcn.1800397d0
nop
mov rdx, rax
lea rcx, [rsi + 0xf8]
call fcn.1800188d0
nop
lea rcx, [rbp + 0x178]
call fcn.1800a20a0
nop
lea rcx, [rbp + 0x150]
call fcn.1800a20a0
mov r11, qword [rsi + 0x108]
test r11, r11
je 0x18003a762
cmp qword [rsi + 0x110], 8
jb 0x18003a739
mov rax, qword [rsi + 0xf8]
jmp 0x18003a740
lea rax, [rsi + 0xf8]
cmp word [rax + r11*2 - 2], 0x3b
je 0x18003a762
mov r8d, 1
lea rdx, [0x18015283c]
lea rcx, [rsi + 0xf8]
call fcn.180018aa0
mov r12, qword [rsp + 0x48]
lea rcx, [rbp + 0xd8]
call fcn.1800a20a0
nop
test rbx, rbx
je 0x18003a79a
mov rdi, rbx
cmp rbx, r15
je 0x18003a792
mov rcx, rdi
call fcn.1800a20a0
add rdi, 0x28
cmp rdi, r15
jne 0x18003a781
mov rcx, rbx
call fcn.1800be828
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov r15, qword [rbp + 0x10]
mov rcx, r12
call fcn.1800be7e8
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x28], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x13]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x18003a7ef
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x18003a876
mov ecx, dword [rsp + 0x40]
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.1800bd064
mov rbx, rax
test rax, rax
je 0x18003a876
mov r8d, dword [rsp + 0x40]
add r8, r8
xor edx, edx
mov rcx, rax
call fcn.1800c6a90
mov qword [rsp + 0x28], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
lea edx, [rdi + 0x14]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x18003a86e
xor eax, eax
mov rcx, rdi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x1b0]
mov rdx, rbx
call fcn.18001c940
mov rcx, rbx
call fcn.1800be7e8
mov r13d, 0x2800
xor r12d, r12d
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x18003a897
call fcn.1800be7e8
mov qword [rsi + 0xd8], r12
mov rcx, r13
call fcn.1800bd064
mov qword [rsi + 0xd8], rax
test rax, rax
je 0x18003ad31
xor edx, edx
mov r8, r13
mov rcx, rax
call fcn.1800c6a90
xor r14d, r14d
nop
mov dword [rsp + 0x40], r14d
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x18003a9f9
mov edx, r12d
mov rcx, rsi
call fcn.18003ae00
mov ecx, dword [rsp + 0x40]
inc ecx
call fcn.1800bd064
mov rdi, rax
test rax, rax
je 0x18003aa05
mov r8d, dword [rsp + 0x40]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.1800c6a90
mov dword [rsp + 0x48], r14d
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x18003a9ef
mov ecx, dword [rsp + 0x48]
lea eax, [rcx + r12]
cmp eax, r13d
jbe 0x18003a98c
mov rbx, qword [rsi + 0xd8]
add r13d, r13d
mov ecx, r13d
call fcn.1800bd064
mov qword [rsi + 0xd8], rax
test rax, rax
je 0x18003aa11
mov r8d, r13d
xor edx, edx
mov rcx, rax
call fcn.1800c6a90
mov r8d, r12d
mov rdx, rbx
mov rcx, qword [rsi + 0xd8]
call fcn.1800be2a0
mov rcx, rbx
call fcn.1800be7e8
mov ecx, dword [rsp + 0x48]
mov r8d, ecx
mov ecx, r12d
add rcx, qword [rsi + 0xd8]
mov rdx, rdi
call fcn.1800be2a0
add r12d, dword [rsp + 0x48]
cmp byte [rsi + 0x290], r14b
je 0x18003a9ef
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi + 0x298]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x7c], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x7c]
mov r8d, dword [rsp + 0x48]
mov rdx, rdi
mov rcx, qword [rsi + 0x298]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x18003aa18
mov rcx, rdi
call fcn.1800be7e8
jmp 0x18003aa05
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
cmp dword [rsp + 0x40], r14d
jbe 0x18003aa1d
jmp 0x18003a8c0
mov qword [rsi + 0xd8], rbx
mov byte [rsp + 0x50], r14b
mov edx, r12d
mov rcx, rsi
call fcn.18003ae00
mov dword [rsi + 0xe0], r12d
mov r12d, r14d
mov ebx, 1
mov r13d, ebx
lea rcx, [rsi + 0xb0]
cmp qword [rcx + 0x18], 8
jb 0x18003aa4b
mov rcx, qword [rcx]
mov r8d, 5
lea rdx, [0x180152840]
call fcn.1800c13c4
test eax, eax
jne 0x18003aa6a
mov r12d, 0xfde9
mov r13d, r14d
mov r9d, dword [rsi + 0xe0]
inc r9d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r8, qword [rsi + 0xd8]
mov edx, r13d
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test eax, eax
jg 0x18003aacc
mov r12d, r14d
mov r13d, ebx
mov r9d, dword [rsi + 0xe0]
inc r9d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r8, qword [rsi + 0xd8]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test eax, eax
jle 0x18003ab59
movsxd r14, edi
mov eax, 2
mul r14
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1800bd064
mov rbx, rax
test rax, rax
je 0x18003ab54
lea r8, [r14 + r14]
xor edx, edx
mov rcx, rax
call fcn.1800c6a90
mov r9d, dword [rsi + 0xe0]
inc r9d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
mov r8, qword [rsi + 0xd8]
mov edx, r13d
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x18003ab4c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x88]
mov rdx, rbx
call fcn.18001c940
mov rcx, rbx
call fcn.1800be7e8
mov ebx, 1
mov r14b, 1
mov byte [rsp + 0x44], r14b
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 8
cmovae rcx, qword [rbp + 0xb0]
mov edi, 3
mov r8, qword [rbp + 0xc0]
cmp r8, rdi
cmovb rdi, r8
lea rdx, [0x18014a6f0]
test rdi, rdi
je 0x18003abc2
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18003abae
add rcx, 2
add rdx, 2
dec rdi
jne 0x18003ab97
jmp 0x18003abc2
mov edi, ebx
cmp word [rcx], ax
mov rcx, 0xffffffffffffffff
cmovb edi, ecx
xor r13d, r13d
jmp 0x18003abcc
xor r13d, r13d
mov edi, r13d
or rcx, 0xffffffffffffffff
movsxd rax, edi
test edi, edi
jne 0x18003abe7
cmp r8, 3
jae 0x18003abdd
mov eax, ecx
jmp 0x18003abe7
mov eax, r13d
cmp r8, 3
setne al
test eax, eax
sete al
test al, al
je 0x18003ad48
lea rdx, str._html_
lea rcx, [rbp + 0x128]
call fcn.180014430
nop
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea r8, [rbp - 0x80]
lea rdx, [rsi + 0x88]
lea rcx, [rbp + 0x128]
call fcn.1800393a0
mov rbx, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
test al, al
je 0x18003accf
mov rcx, rbx
sub rcx, r12
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18003accf
mov r8d, 9
lea rdx, str.__html_
lea rcx, [rbp + 0x128]
call fcn.18001c940
lea r8, [rbp - 0x80]
lea rdx, [rsi + 0x88]
lea rcx, [rbp + 0x128]
call fcn.1800393a0
mov rbx, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
test al, al
je 0x18003acbd
mov rcx, rbx
sub rcx, r12
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x18003accf
mov dword [rsi + 0x1a8], SafeArrayDestroy
xor r14b, r14b
mov byte [rsp + 0x44], r14b
test r12, r12
je 0x18003acf9
mov rdi, r12
cmp r12, rbx
je 0x18003acf1
nop dword [rax]
mov rcx, rdi
call fcn.1800a20a0
add rdi, 0x28
cmp rdi, rbx
jne 0x18003ace0
mov rcx, r12
call fcn.1800be828
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea rcx, [rbp + 0x128]
call fcn.1800a20a0
lea r12, [rsi + 0x10]
jmp 0x18003ad23
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a8], eax
test r14b, r14b
jne 0x18003ad48
mov ecx, dword [rsp + 0x78]
jmp 0x180039f50
xor bl, bl
xor r13d, r13d
jmp 0x18003ad3c
mov ebx, dword [rsp + 0x50]
movzx ebx, bl
test r14b, r14b
cmove ebx, r13d
jmp 0x18003ad4c
mov ebx, dword [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
lea rcx, [rbp + 0xb0]
call fcn.1800a20a0
movzx eax, bl
jmp 0x18003ad89
mov dword [rsi + 0x1a8], 0x57
lea rcx, [rbp + 0xb0]
call fcn.1800a20a0
xor al, al
mov rcx, qword [rbp + 0x1200]
xor rcx, rsp
call fcn.1800bdf20
mov rbx, qword [rsp + 0x1360]
add rsp, 0x1310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret