Function at 0x18000df60
Capabilities:
Connect to http server
Download and write a file
Get http response content encoding
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe48]
sub rsp, 0xf48
mov qword [rbp + 0x2f8], 0xfffffffffffffffe
mov rax, qword [0x180066180]
xor rax, rsp
mov qword [rbp + 0xe30], rax
mov r12, r9
mov qword [rbp + 0x18], r9
mov qword [rbp - 0x38], r8
mov rbx, rdx
mov qword [rbp - 0x68], rdx
mov r13, rcx
mov qword [rbp + 0x2b8], rcx
xor r15d, r15d
mov dword [rsp + 0x44], r15d
mov rcx, r9
call fcn.18000d0c0
test al, al
je 0x18000dfd9
mov rdx, r12
mov rcx, r13
call fcn.18000d240
nop
jmp 0x180010523
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
test rbx, rbx
jne 0x18000e054
mov qword [rbp + 0x28], rax
lea rdx, str.InternetOpen_Failed
test rdx, 0xffffffffffff0000
jne 0x18000e027
movzx ebx, dx
mov ecx, ebx
call fcn.180002840
test rax, rax
je 0x18000e037
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1800023e0
jmp 0x18000e037
mov r8d, 0x13
lea rcx, [rbp + 0x28]
call fcn.180002020
nop
lea rdx, [rbp + 0x28]
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], 1
mov rdx, qword [rbp + 0x28]
jmp 0x18001050f
mov qword [rsp + 0x58], rax
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov dword [rbp - 0x3c], r15d
lea rdx, [0x18005649c]
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
mov qword [rbp + 0x258], 0xf
mov qword [rbp + 0x250], r15
mov byte [rbp + 0x240], 0
or r14, 0xffffffffffffffff
cmp byte [rdx], 0
jne 0x18000e0b0
mov r8, r15
jmp 0x18000e0bd
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x18000e0b3
lea rcx, [rbp + 0x240]
call fcn.1800021a0
lea rdx, [rbp + 0x240]
lea rcx, [rsp + 0x50]
call fcn.180003760
nop
lea r9, [rbp - 0x3c]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.18000cdd0
movzx eax, al
test eax, eax
jne 0x18000e170
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
lea rdx, str.InternetCrackUrl_Failed
test rdx, 0xffffffffffff0000
jne 0x18000e143
movzx ebx, dx
mov ecx, ebx
call fcn.180002840
test rax, rax
je 0x18000e153
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1800023e0
jmp 0x18000e153
mov r8d, 0x17
lea rcx, [rbp + 0x10]
call fcn.180002020
nop
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], 1
mov rdx, qword [rbp + 0x10]
jmp 0x1800104c1
mov byte [rsp + 0x41], 0
lea rdx, str.redirectCheck
mov rcx, r12
call fcn.180019a90
lea rcx, [0x18006a678]
cmp rax, rcx
je 0x18000e1c0
lea rdx, str.redirectCheck
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 5
jne 0x18000e1c0
lea rdx, str.redirectCheck
mov rcx, r12
call fcn.180019a90
mov rcx, rax
call fcn.1800193a0
mov byte [rsp + 0x41], al
xor dil, dil
mov esi, 0x50
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
call fcn.180002110
add rax, 0x18
mov qword [rbp], rax
lea rax, [rbp]
mov qword [rbp + 0x80], rax
lea rcx, [rbp]
call fcn.1800082c0
mov ecx, dword [0x180069c80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 9
jne 0x18000e25e
lea ecx, [rsi - 0x28]
call fcn.1800289f0
mov rdi, rax
mov rbx, r15
call fcn.1800289f8
add eax, dword [0x180069c80]
mov dword [rdi + rbx*4], eax
inc rbx
cmp rbx, 0xa
jl 0x18000e233
mov ecx, dword [rdi + 0x24]
mov dword [0x180069c80], ecx
mov rcx, rdi
call fcn.180028a24
xor dil, dil
mov rax, qword [rbp]
cmp dword [rax - 0x10], 0
jl 0x18000e28f
lea rdx, str.https:__
mov rcx, rax
call fcn.18002aa38
mov rcx, rax
test rax, rax
mov rax, qword [rbp]
je 0x18000e28f
cmp ecx, eax
jne 0x18000e28f
mov dil, 1
mov esi, 0x1bb
lea rdx, [rax - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e2a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, str.port
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 1
jne 0x18000e2d6
lea rdx, str.port
mov rcx, r12
call fcn.180019a90
mov rcx, rax
call fcn.180019250
mov ebx, eax
mov dword [rbp - 0x3c], eax
jmp 0x18000e2e1
mov ebx, dword [rbp - 0x3c]
test ebx, ebx
cmove ebx, esi
mov dword [rbp - 0x3c], ebx
mov byte [rsp + 0x40], 0
mov rax, qword [rbp - 0x38]
cmp qword [rax], 0
je 0x18000e309
mov r8d, ebx
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18000cfe0
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x18000e377
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], r15
xor r9d, r9d
movzx r8d, bx
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WININET.dll_InternetConnectA]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x18000e372
lea rdx, str.InternetConnect_Failed
lea rcx, [rbp + 0x1f8]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], 1
mov rdx, qword [rbp + 0x1f8]
jmp 0x1800104c1
mov byte [rsp + 0x40], 1
mov eax, 0x80400200
mov ecx, 0x80600200
cmp byte [rsp + 0x41], 0
cmovne eax, ecx
or eax, 0xc000
mov dword [rbp - 0x68], eax
test dil, dil
je 0x18000e39e
or eax, 0x803080
mov dword [rbp - 0x68], eax
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
lea rdx, str.method
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000e46b
lea rdx, str.method
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x3b8]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.180003760
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x18000e450
cmp dword [rbx + 0x10], 0
jl 0x18000e442
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18000e442
call fcn.180002110
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x18000e438
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rVariantCopy + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x80], rax
jmp 0x18000e450
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x80]
call fcn.180002020
nop
mov rdx, qword [rbp + 0x188]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e46b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
lea rdx, str.version
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000e53b
lea rdx, str.version
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x3f8]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x190]
call fcn.180003760
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x18000e520
cmp dword [rdi + 0x10], 0
jl 0x18000e511
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18000e511
call fcn.180002110
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x18000e506
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rVariantCopy + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x78], rax
jmp 0x18000e520
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.180002020
nop
mov rdx, qword [rbp + 0x190]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e53b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rbp - 0x78], rsi
lea rdx, str.referer
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000e608
lea rdx, str.referer
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x478]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x1a8]
call fcn.180003760
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x18000e5ed
cmp dword [rsi + 0x10], 0
jl 0x18000e5df
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x18000e5df
call fcn.180002110
mov rbx, rax
lock add dword [rsi + 0x10], 0xffffffff
jg 0x18000e5d5
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rVariantCopy + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x78], rax
jmp 0x18000e5ed
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.180002020
nop
mov rdx, qword [rbp + 0x1a8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e608
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
lea rdx, str.acceptTypes
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000e6dd
lea rdx, str.acceptTypes
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x378]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.180003760
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x18000e6bd
cmp dword [rbx + 0x10], 0
jl 0x18000e6ae
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18000e6ae
call fcn.180002110
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x18000e6a3
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rVariantCopy + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x70], rax
jmp 0x18000e6bd
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x70]
call fcn.180002020
nop
mov rdx, qword [rbp + 0x1b8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e6d8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rsp + 0x70]
cmp dword [rbx - 0x10], 0
cmove rbx, r15
mov qword [rbp + 0x230], rbx
mov qword [rbp + 0x238], r15
mov rsi, qword [rbp - 0x78]
cmp dword [rsi - 0x10], 0
cmove rsi, r15
mov rdi, qword [rsp + 0x78]
cmp dword [rdi - 0x10], 0
cmove rdi, r15
mov rbx, qword [rbp - 0x80]
cmp dword [rbx - 0x10], 0
cmove rbx, r15
mov qword [rsp + 0x38], 1
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0x230]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8, qword [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x18000e78b
lea rdx, str.HttpOpenRequest_Failed
lea rcx, [rbp + 0x1c8]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov eax, 1
mov dword [rsp + 0x44], eax
mov rdx, qword [rbp + 0x1c8]
jmp 0x18001045b
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
lea rdx, str.contentType
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000e91f
lea rdx, [0x1800565fc]
lea rcx, [rbp + 0xa0]
call fcn.180001aa0
nop
lea rdx, str.contentType
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x398]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.180003760
mov rdi, rax
lea rdx, str.Content_Type:
lea rcx, [rbp + 0x1d8]
call fcn.180001aa0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.1800039a0
nop
lea r8, [rbp + 0xa0]
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.1800039a0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x18000e894
cmp dword [rbx + 0x10], 0
jl 0x18000e885
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18000e885
call fcn.180002110
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x18000e87a
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rVariantCopy + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x18000e894
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.180002020
nop
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e8b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x100]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e8cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x1d8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e8e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x108]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e904
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e91f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, str.additionalRequestHeaders
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000ea53
lea rdx, str.additionalRequestHeaders
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x3d8]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x1e8]
call fcn.180003760
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.1800022e0
nop
mov rdx, qword [rbp + 0x1e8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000e993
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
call fcn.180002110
lea rbx, [rax + 0x18]
mov qword [rbp + 0x90], rbx
mov rsi, rbx
mov rdi, r15
cmp byte [rbx], dil
je 0x18000ea3f
nop dword [rax + rax]
movsx ecx, byte [rsi]
call fcn.18002b078
test eax, eax
je 0x18000e9d6
test rdi, rdi
jne 0x18000e9d9
mov rdi, rsi
jmp 0x18000e9d9
mov rdi, r15
mov rcx, rsi
call fcn.18002a9f4
mov rsi, rax
cmp byte [rax], 0
jne 0x18000e9c0
test rdi, rdi
je 0x18000ea3f
sub edi, ebx
jns 0x18000e9fd
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x18000ea23
mov edx, edi
lea rcx, [rbp + 0x90]
call fcn.180002c50
mov rbx, qword [rbp + 0x90]
cmp edi, dword [rbx - 0xc]
jg 0x18000ea34
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov byte [rax + rbx], 0
jmp 0x18000ea3f
mov ecx, 0x80070057
call fcn.180002bd0
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000ea53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 8], rdi
lea rdx, str.postData
mov rcx, r12
call fcn.180019a90
cmp byte [rax + 8], 4
jne 0x18000eb24
lea rdx, str.postData
mov rcx, r12
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x418]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.180003760
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x18000eb05
cmp dword [rdi + 0x10], 0
jl 0x18000eaf7
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18000eaf7
call fcn.180002110
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x18000eaed
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rVariantCopy + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 8], rax
jmp 0x18000eb05
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 8]
call fcn.180002020
nop
mov rdx, qword [rbp + 0x128]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000eb20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rdi, qword [rbp - 8]
lea r12, [rdi - 0x18]
mov rcx, r12
call fcn.180002110
lea rsi, [rax + 0x18]
mov qword [rbp - 0x70], rsi
cmp byte [rsp + 0x41], 0
je 0x18000eb76
mov dword [rbp - 0x18], 0x2710
mov r9d, 4
lea r8, [rbp - 0x18]
lea edx, [r9 + 2]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.WININET.dll_InternetSetOptionA]
mov r9d, 4
lea r8, [rbp - 0x18]
lea edx, [r9 + 1]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.WININET.dll_InternetSetOptionA]
mov rbx, qword [rsp + 0x60]
lea rax, [rbx - 0x10]
mov qword [rbp + 0x60], rax
cmp dword [rax], 0
cmove rbx, r15
mov eax, dword [rdi - 0x10]
mov dword [rbp - 0x68], eax
mov edi, 1
mov ecx, edi
sub ecx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
or eax, ecx
jge 0x18000ebb0
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.180002c50
mov rsi, qword [rbp - 0x70]
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
mov r9, rsi
mov rax, qword [rbp + 0x60]
mov r8d, dword [rax]
mov rdx, rbx
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x18000ed25
lea rcx, [rbp + 0x88]
call fcn.180008a80
nop
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r8d, dword [0x180069c80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 0xb
jne 0x18000ec63
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x2f4
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1800289f0
mov rcx, rax
call fcn.180028a24
mov r8d, dword [0x180069c80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0x16
jne 0x18000ec96
inc dword [0x18006a378]
cmp byte [rsp + 0x40], 0
je 0x18000eca7
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.HttpSendRequest_Failed_with:
lea rcx, [rbp + 0x208]
call fcn.180001aa0
nop
lea r8, [rbp + 0x88]
mov rdx, rax
lea rcx, [rbp + 0x148]
call fcn.1800039a0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], edi
mov rdx, qword [rbp + 0x148]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000ecfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x208]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000ed19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x88]
jmp 0x180010411
lea rdx, str.noResponse
mov rbx, qword [rbp + 0x18]
mov rcx, rbx
call fcn.180019a90
cmp byte [rax + 8], 5
jne 0x18000ee9f
lea rdx, str.noResponse
mov rcx, rbx
call fcn.180019a90
mov rcx, rax
call fcn.1800193a0
test al, al
je 0x18000ee9f
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [rsp + 0x40], 0
je 0x18000ed7c
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [rbp + 0xe0], 0xfffffe00
mov qword [rbp + 0xe8], r15
mov eax, dword [rbp + 0x118]
and eax, 0xffffff05
or eax, 5
mov dword [rbp + 0x118], eax
mov qword [rbp + 0x120], r15
mov byte [rbp + 0x110], 1
lea rdx, str.result
lea rcx, [rbp + 0xd8]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x110]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x110]
call fcn.180019100
mov eax, dword [rbp + 0x138]
and eax, 0xffffff04
or eax, 0x104
mov dword [rbp + 0x138], eax
mov qword [rbp + 0x140], r15
mov eax, dword [0x18006aa48]
test al, 1
jne 0x18000ee28
or eax, 1
mov dword [0x18006aa48], eax
lea rax, vtable.Json::DefaultValueAllocator.0
mov qword [0x18006a9b0], rax
lea rcx, [0x180049310]
call fcn.1800296b4
mov rcx, qword [0x1800682d8]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, str.no_response_needed
call qword [rax + 0x18]
mov qword [rbp + 0x130], rax
lea rdx, str.content
lea rcx, [rbp + 0xd8]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x130]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x130]
call fcn.180019100
lea rdx, [rbp + 0xd8]
mov rcx, r13
call fcn.180018fa0
mov dword [rsp + 0x44], edi
lea rcx, [rbp + 0xd8]
call fcn.180019100
nop
lea rdx, [rsi - 0x18]
jmp 0x18001042e
mov byte [rbp + 0x610], 0
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x611]
call fcn.18002c930
mov dword [rbp + 0x70], 0x400
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x610]
mov edx, 0x13
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x18000ef30
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [rsp + 0x40], 0
je 0x18000ef01
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.HttpQueryInfo_Failed
lea rcx, [rbp + 0x168]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], edi
mov rdx, qword [rbp + 0x168]
jmp 0x180010411
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x610]
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x18000ef54
mov r8d, eax
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x48]
call fcn.180002020
nop
xor bl, bl
lea rdx, str.acceptedStatusCodes
mov rsi, qword [rbp + 0x18]
mov rcx, rsi
call fcn.180019a90
mov rdi, rax
movzx eax, byte [rax + 8]
test al, al
je 0x18000f1b8
cmp al, 6
je 0x18000f1b8
cmp al, 7
jne 0x18000f196
mov dword [rbp - 0x68], r15d
mov rcx, rdi
call fcn.180019420
test eax, eax
jle 0x18000f18a
nop word [rax + rax]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x218], rbx
mov r8d, dword [rbp - 0x68]
lea rdx, [rbp + 0x218]
lea rcx, [rbp - 0x10]
call fcn.180003920
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f005
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rdx, qword [rbp - 0x10]
mov rcx, rdi
call fcn.180019a90
mov rdx, qword [rbp - 0x10]
mov rcx, rdi
cmp byte [rax + 8], 4
jne 0x18000f06b
call fcn.180019a90
mov rdx, qword [rax]
lea rcx, [rbp + 0x458]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.180003760
mov rdx, qword [rax]
mov eax, r15d
test rdx, rdx
setne al
test eax, eax
je 0x18000f150
mov rcx, qword [rsp + 0x48]
call fcn.180029c08
mov rdx, qword [rbp + 0xf0]
jmp 0x18000f0fe
call fcn.180019a90
cmp byte [rax + 8], 1
jne 0x18000f11b
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x228], rbx
mov rdx, qword [rbp - 0x10]
mov rcx, rdi
call fcn.180019a90
mov rcx, rax
call fcn.180019250
mov r8d, eax
lea rdx, [rbp + 0x228]
lea rcx, [rbp + 0x98]
call fcn.180003920
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f0d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov eax, r15d
mov rdx, qword [rbp + 0x98]
test rdx, rdx
setne al
test eax, eax
je 0x18000f17f
mov rcx, qword [rsp + 0x48]
call fcn.180029c08
mov rdx, qword [rbp + 0x98]
test eax, eax
sete bl
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f117
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
test bl, bl
jne 0x18000f15b
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f133
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8d, dword [rbp - 0x68]
inc r8d
mov dword [rbp - 0x68], r8d
mov rcx, rdi
call fcn.180019420
cmp r8d, eax
jge 0x18000f18a
jmp 0x18000efc0
mov ecx, 0x80004005
call fcn.180002bd0
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f173
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8d, dword [0x180069c80]
jmp 0x18000f376
mov ecx, 0x80004005
call fcn.180002bd0
nop
mov r8d, dword [0x180069c80]
jmp 0x18000f37e
lea rdx, [0x1800564fc]
mov rcx, qword [rsp + 0x48]
call fcn.180029c08
test eax, eax
sete bl
mov r8d, dword [0x180069c80]
jmp 0x18000f376
mov esi, r15d
mov rcx, rdi
call fcn.180019420
test eax, eax
jle 0x18000f2fc
nop dword [rax + rax]
mov edx, esi
mov rcx, rdi
call fcn.180019750
mov edx, esi
mov rcx, rdi
cmp byte [rax + 8], 4
jne 0x18000f232
call fcn.180019750
mov rdx, qword [rax]
lea rcx, [rbp + 0x498]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x1a0]
call fcn.180003760
mov rdx, qword [rax]
mov eax, r15d
test rdx, rdx
setne al
test eax, eax
je 0x18000f2e6
mov rcx, qword [rsp + 0x48]
call fcn.180029c08
mov rdx, qword [rbp + 0x1a0]
jmp 0x18000f2b6
call fcn.180019750
cmp byte [rax + 8], 1
jne 0x18000f2d3
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x198], rbx
mov edx, esi
mov rcx, rdi
call fcn.180019750
mov rcx, rax
call fcn.180019250
mov r8d, eax
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x78]
call fcn.180003920
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f297
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov eax, r15d
mov rdx, qword [rbp + 0x78]
test rdx, rdx
setne al
test eax, eax
je 0x18000f2f1
mov rcx, qword [rsp + 0x48]
call fcn.180029c08
mov rdx, qword [rbp + 0x78]
test eax, eax
sete bl
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f2cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
test bl, bl
jne 0x18000f2fc
inc esi
mov rcx, rdi
call fcn.180019420
cmp esi, eax
jge 0x18000f2fc
jmp 0x18000f1d0
mov ecx, 0x80004005
call fcn.180002bd0
int3
mov ecx, 0x80004005
call fcn.180002bd0
int3
mov r8d, dword [0x180069c80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 7
jne 0x18000f372
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x63
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1800289f0
mov rcx, rax
call fcn.180028a24
mov r8d, dword [0x180069c80]
mov rsi, qword [rbp + 0x18]
test bl, bl
jne 0x18000f454
imul r8d, r8d
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 2
jne 0x18000f3d9
lea ecx, [r8 + 0x26]
call fcn.1800289f0
mov rbx, rax
nop dword [rax]
call fcn.1800289f8
add eax, dword [0x180069c80]
mov dword [rbx + r15*4], eax
inc r15
cmp r15, 0xa
jl 0x18000f3b0
mov ecx, dword [rbx + 0x24]
mov dword [0x180069c80], ecx
mov rcx, rbx
call fcn.180028a24
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [rsp + 0x40], 0
je 0x18000f3f4
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rax, [rbp + 0x588]
mov qword [rbp + 0x580], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x580]
call fcn.180001f80
nop
mov rcx, qword [rbp + 0x580]
call fcn.180029adc
mov edx, eax
mov rcx, r13
call fcn.18000c9d0
mov eax, 1
mov dword [rsp + 0x44], eax
lea rax, [rbp + 0x588]
mov rcx, qword [rbp + 0x580]
cmp rcx, rax
je 0x18001040c
call fcn.180029a40
jmp 0x18001040c
mov dword [rbp - 0x14], r15d
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x14]
xor r8d, r8d
lea edx, [r8 + 0x16]
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x20], rdi
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x18000f507
mov ecx, eax
call fcn.1800289f0
mov qword [rbp + 0x60], rax
test rax, rax
je 0x18000f507
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x14]
mov r8, rax
mov edx, 0x16
mov rcx, rbx
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
mov rbx, qword [rbp + 0x60]
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.18000be60
nop
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180001e20
nop
mov rdx, qword [rbp + 0x220]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f4fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rcx, rbx
call fcn.180028a24
mov rdi, qword [rbp - 0x20]
cmp byte [rsp + 0x41], 0
je 0x18000f9a3
and dword [rbp + 0x38], 0xfffffe00
mov qword [rbp + 0x40], r15
mov r8d, dword [0x180069c80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 0x12
jne 0x18000f551
dec r8d
mov dword [0x180069c80], r8d
lea rdx, [0x180056548]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.180029c08
test eax, eax
setne al
test al, al
je 0x18000f5de
lea rdx, [0x180056550]
mov rcx, rbx
call fcn.180029c08
test eax, eax
setne al
test al, al
je 0x18000f5de
lea rdx, [0x180056544]
mov rcx, rbx
call fcn.180029c08
test eax, eax
setne al
test al, al
je 0x18000f5de
lea rdx, [0x18005654c]
mov rcx, rbx
call fcn.180029c08
test eax, eax
setne al
test al, al
je 0x18000f5de
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.180018fa0
mov eax, 1
mov dword [rsp + 0x44], eax
lea rcx, [rbp + 0x30]
call fcn.180019100
nop
lea rdx, [rdi - 0x18]
jmp 0x1800103fb
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
add rdi, 0xffffffffffffffe8
mov rcx, rdi
call fcn.180002110
add rax, 0x18
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.1800082c0
mov rbx, qword [rbp + 8]
cmp dword [rbx - 0x10], 0
jl 0x18000f988
lea rdx, str.location:
mov rcx, rbx
call fcn.18002aa38
mov rsi, rax
test rax, rax
je 0x18000f988
sub esi, ebx
cmp esi, 0xffffffff
je 0x18000f988
test esi, esi
js 0x18000f66c
cmp esi, dword [rbx - 0x10]
jg 0x18000f66c
movsxd rcx, esi
add rcx, rbx
lea rdx, [0x1800565fc]
call fcn.18002aa38
test rax, rax
je 0x18000f66c
sub eax, ebx
jmp 0x18000f66f
mov eax, r14d
sub eax, esi
mov r9d, eax
mov r8d, esi
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 8]
call fcn.180009800
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180001e20
nop
mov rdx, qword [rbp + 0x1b0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f6b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rbp - 0x30]
cmp dword [rbx - 0x10], 0
jl 0x18000f971
lea rdx, str.http
mov rcx, rbx
call fcn.18002aa38
test rax, rax
je 0x18000f971
sub eax, ebx
cmp eax, 0xffffffff
je 0x18000f971
mov r8d, dword [rbx - 0x10]
sub r8d, eax
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x30]
call fcn.180010550
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180001e20
nop
mov rdx, qword [rbp + 0x1f0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f721
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov eax, dword [rbp + 0x158]
and eax, 0xffffff05
or eax, 5
mov dword [rbp + 0x158], eax
mov qword [rbp + 0x160], r15
mov byte [rbp + 0x150], 1
lea rdx, str.urlRedirected
lea rcx, [rbp + 0x30]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x150]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x150]
call fcn.180019100
mov ecx, dword [0x180069c80]
imul ecx, ecx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 7
jne 0x18000f7cd
mov ecx, 0x28
call fcn.1800289f0
mov rsi, rax
mov rbx, r15
call fcn.1800289f8
add eax, dword [0x180069c80]
mov dword [rsi + rbx*4], eax
inc rbx
cmp rbx, 0xa
jl 0x18000f7a5
mov ecx, dword [rsi + 0x24]
mov dword [0x180069c80], ecx
mov rcx, rsi
call fcn.180028a24
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x4b8]
call fcn.1800037f0
nop
mov rdx, rax
lea rcx, [rbp + 0x260]
call fcn.180018ef0
nop
lea rdx, str.requestUrl
lea rcx, [rbp + 0x30]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x260]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x260]
call fcn.180019100
nop
cmp qword [rbp + 0x4d0], 0x10
jb 0x18000f832
mov rcx, qword [rbp + 0x4b8]
call fcn.1800289b0
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x4d8]
call fcn.1800037f0
nop
mov rdx, rax
lea rcx, [rbp + 0x318]
call fcn.180018ef0
nop
lea rdx, str.redirectUrl
lea rcx, [rbp + 0x30]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x318]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x318]
call fcn.180019100
nop
cmp qword [rbp + 0x4f0], 0x10
jb 0x18000f896
mov rcx, qword [rbp + 0x4d8]
call fcn.1800289b0
mov rcx, qword [rsp + 0x48]
mov ebx, 1
mov edx, ebx
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x18000f8bd
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.180002c50
mov rcx, qword [rsp + 0x48]
call fcn.180029adc
mov ecx, dword [rbp + 0x178]
and ecx, 0xffffff01
or ecx, ebx
mov dword [rbp + 0x178], ecx
mov qword [rbp + 0x180], r15
mov dword [rbp + 0x170], eax
lea rdx, str.statusCode
lea rcx, [rbp + 0x30]
call fcn.180019830
mov rcx, rax
lea rdx, [rbp + 0x170]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x170]
call fcn.180019100
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.180018fa0
mov dword [rsp + 0x44], ebx
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f938
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000f951
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lea rcx, [rbp + 0x30]
call fcn.180019100
nop
lock add dword [rdi + 0x10], 0xffffffff
jg 0x18001040c
mov rcx, qword [rdi]
mov rdx, rdi
jmp 0x180010405
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.180018fa0
mov eax, 1
mov dword [rsp + 0x44], eax
jmp 0x18000f91f
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.180018fa0
mov eax, 1
mov dword [rsp + 0x44], eax
lea rdx, [rbx - 0x18]
jmp 0x18000f927
mov rax, r15
mov qword [rbp - 0x60], rax
mov rbx, r15
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x40], r15d
mov rdi, qword [rbp - 0x38]
nop dword [rax]
sub rbx, rax
lea rdx, [rbx + 0x400]
lea rcx, [rbp - 0x60]
call fcn.18000bf00
mov dword [rbp - 0x40], r15d
mov rdx, qword [rbp - 0x60]
add rdx, rbx
lea r9, [rbp - 0x40]
mov r8d, 0x400
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
mov dword [rbp - 0x68], eax
call fcn.18000c120
test al, al
jne 0x18000fa09
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x180069c80], eax
cmp dword [rbp - 0x68], 0
je 0x180010331
mov edx, dword [rbp - 0x40]
add rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.18000bf00
cmp dword [rbp - 0x40], 0
je 0x18000fa32
mov rbx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x60]
jmp 0x18000f9c0
mov byte [rbp + 0xa20], 0
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0xa21]
call fcn.18002c930
mov dword [rbp + 0x50], 0x400
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x50]
lea r8, [rbp + 0xa20]
mov edx, 0x1d
mov rcx, rdi
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x18000fcec
lea rdx, [rbp + 0xa20]
lea rcx, [rbp + 0x58]
call fcn.18000be60
nop
lea rdx, str.gzip
mov rcx, qword [rbp + 0x58]
call fcn.180029c08
test eax, eax
sete al
test al, al
je 0x18000fcd4
mov qword [rbp + 0xc0], r15
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], r15
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
sub rdx, rcx
lea r8, [rbp + 0xc0]
call fcn.18000c210
test eax, eax
jne 0x18000fcb7
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.18000c120
test al, al
jne 0x18000fb2f
mov ecx, dword [0x180069c80]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ecx, edx
add ecx, 0x141
movsxd rcx, ecx
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1800289f0
mov rcx, rax
call fcn.180028a24
cmp byte [rsp + 0x40], 0
je 0x18000fb40
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.gzip_decompression_failed
lea rcx, [rbp + 0x1c0]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov eax, 1
mov dword [rsp + 0x44], eax
mov rdx, qword [rbp + 0x1c0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fb84
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x18000fb96
call fcn.1800289b0
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fbaf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18000fbbe
call fcn.1800289b0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fbd7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fbf1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fc0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x18000fc21
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fc3b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fc55
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fc6e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000fc88
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lea rcx, [rbp - 0x80]
call fcn.180001b40
nop
lea rcx, [rsp + 0x50]
call fcn.180001b40
nop
lea rcx, [rsp + 0x68]
call fcn.180001b40
nop
lea rcx, [rsp + 0x58]
call fcn.180001b40
jmp 0x180010523
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x60]
call fcn.1800105f0
nop
lea rcx, [rbp + 0xc0]
call fcn.18000bed0
call fcn.18000c090
test al, al
jne 0x18000fce3
dec dword [0x18006a3a8]
lea rcx, [rbp + 0x58]
call fcn.180001b40
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [rsp + 0x40], 0
je 0x18000fd06
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor bl, bl
xor dil, dil
lea rdx, str.responseType
mov rcx, rsi
call fcn.180019a90
mov rcx, rax
call fcn.180019b90
test al, al
je 0x18000fd97
lea rdx, str.responseType
mov rcx, rsi
call fcn.180019a90
mov rcx, rax
call fcn.180001a20
mov rdx, rax
lea rcx, [rbp + 0x438]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.180003760
lea rdx, str.base64
lea rcx, [rbp + 0x48]
call fcn.180001d50
test al, al
je 0x18000fd70
mov bl, 1
jmp 0x18000fd8e
lea rdx, str.binary
lea rcx, [rbp + 0x48]
call fcn.180001d50
movzx edi, dil
test al, al
mov eax, 1
cmovne edi, eax
lea rcx, [rbp + 0x48]
call fcn.180001b40
lea rcx, [rbp - 0x28]
call fcn.180001a40
nop
test bl, bl
je 0x18000febe
lea rcx, [rbp - 0x60]
call fcn.180010740
mov rbx, rax
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.180010750
mov rdx, rax
mov r8, rbx
lea rcx, [rbp + 0x210]
call fcn.180003590
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.180001b60
nop
lea rcx, [rbp + 0x210]
call fcn.180001b40
lea rcx, [rbp + 0x1d0]
call fcn.180009d50
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.180001d20
movzx ebx, al
lea rcx, [rbp + 0x1d0]
call fcn.180001b40
test bl, bl
je 0x18000ffcc
lea rdx, str.Base64_encoding_Failed
lea rcx, [rbp + 0x200]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
nop
lea rcx, [rbp + 0x200]
call fcn.180001b40
nop
lea rcx, [rbp - 0x28]
call fcn.180001b40
nop
lea rcx, [rbp - 0x60]
call fcn.18000bed0
nop
lea rcx, [rbp - 0x20]
call fcn.180001b40
nop
lea rcx, [rsp + 0x48]
call fcn.180001b40
nop
lea rcx, [rbp - 0x70]
call fcn.180001b40
nop
lea rcx, [rbp - 8]
call fcn.180001b40
nop
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
lea rcx, [rsp + 0x70]
call fcn.180001b40
nop
lea rcx, [rbp - 0x78]
call fcn.180001b40
nop
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
lea rcx, [rbp - 0x80]
call fcn.180001b40
jmp 0x18000fc92
test dil, dil
jne 0x18000ffcc
lea rcx, [rbp - 0x60]
call fcn.180010740
mov rbx, rax
lea rdx, [rax - 1]
lea rcx, [rbp - 0x60]
call fcn.180010750
cmp byte [rax], dil
je 0x18000ff01
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x60]
call fcn.18000bf00
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.180010750
mov byte [rax], dil
lea rcx, [rbp - 0x60]
call fcn.180010740
cmp rax, 3
jbe 0x18000ff98
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.180010750
cmp byte [rax], 0xef
jne 0x18000ff98
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.180010750
cmp byte [rax], 0xbb
jne 0x18000ff98
mov edx, 2
lea rcx, [rbp - 0x60]
call fcn.180010750
cmp byte [rax], 0xbf
jne 0x18000ff98
lea rdx, [rbp + 0x348]
lea rcx, [rbp - 0x60]
call fcn.180010730
mov rcx, rax
mov r8d, 3
lea rdx, [rbp + 0x2d8]
call fcn.1800107f0
mov rbx, qword [rax]
lea rdx, [rbp + 0x278]
lea rcx, [rbp - 0x60]
call fcn.180010730
mov r9, rbx
mov r8, qword [rax]
lea rdx, [rbp + 0x298]
lea rcx, [rbp - 0x60]
call fcn.180010760
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.180010750
mov rdx, rax
lea rcx, [rbp + 0x1e0]
call fcn.180001aa0
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.180001b60
nop
lea rcx, [rbp + 0x1e0]
call fcn.180001b40
xor bl, bl
lea rdx, str.outputFile
mov rcx, rsi
call fcn.180019a90
mov rcx, rax
call fcn.180019b90
test al, al
je 0x1800100cc
lea rdx, str.outputFile
mov rcx, rsi
call fcn.180019a90
mov rcx, rax
call fcn.180001a20
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.180001d80
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180003760
nop
lea rcx, [rbp + 0x20]
call fcn.180001a30
test al, al
jne 0x1800100c3
test dil, dil
je 0x18001009a
mov qword [rbp + 0x68], r15
lea rcx, [rbp + 0x20]
call fcn.180001a20
mov rdx, rax
lea r8, [0x180056710]
lea rcx, [rbp + 0x68]
call fcn.18002a030
test eax, eax
jne 0x1800100c3
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x1800100c3
lea rcx, [rbp - 0x60]
call fcn.180010740
mov rbx, rax
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.180010750
mov rcx, rax
mov r9, rdi
mov r8, rbx
mov edx, 1
call fcn.18002afe8
mov rcx, qword [rbp + 0x68]
call fcn.18002a428
mov bl, 1
jmp 0x1800100c3
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x350]
call fcn.180001a70
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.18000b3d0
movzx ebx, bl
test al, al
mov eax, 1
cmovne ebx, eax
lea rcx, [rbp + 0x20]
call fcn.180001b40
xor edx, edx
lea rcx, [rbp + 0xa8]
call fcn.180018e30
nop
mov dl, 1
lea rcx, [rbp + 0x280]
call fcn.180018f80
nop
lea rdx, str.result
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x280]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x280]
call fcn.180019100
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x4f8]
call fcn.1800037f0
nop
mov rdx, rax
lea rcx, [rbp + 0x2a0]
call fcn.180018ef0
nop
lea rdx, str.content
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x2a0]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x2a0]
call fcn.180019100
nop
lea rcx, [rbp + 0x4f8]
call fcn.180001dc0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x538]
call fcn.1800037f0
nop
mov rdx, rax
lea rcx, [rbp + 0x2c0]
call fcn.180018ef0
nop
lea rdx, str.additionalInfo
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, str.headers
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x2c0]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x2c0]
call fcn.180019100
nop
lea rcx, [rbp + 0x538]
call fcn.180001dc0
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x518]
call fcn.1800037f0
nop
mov rdx, rax
lea rcx, [rbp + 0x2e0]
call fcn.180018ef0
nop
lea rdx, str.additionalInfo
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, str.httpCode
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x2e0]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x2e0]
call fcn.180019100
nop
lea rcx, [rbp + 0x518]
call fcn.180001dc0
lea rdx, str.empty
lea rcx, [rbp + 0x558]
call fcn.180001d80
nop
mov rdx, rax
lea rcx, [rbp + 0x300]
call fcn.180018ef0
nop
lea rdx, str.noData
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x300]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x300]
call fcn.180019100
nop
lea rcx, [rbp + 0x558]
call fcn.180001dc0
lea rdx, str.outputFile
mov rcx, rsi
call fcn.180019a90
mov rcx, rax
call fcn.180019b90
test al, al
je 0x180010309
movzx edx, bl
lea rcx, [rbp + 0x330]
call fcn.180018f80
nop
lea rdx, str.outputFileResult
lea rcx, [rbp + 0xa8]
call fcn.180019820
mov rcx, rax
lea rdx, [rbp + 0x330]
call fcn.1800191d0
nop
lea rcx, [rbp + 0x330]
call fcn.180019100
lea rdx, [rbp + 0xa8]
mov rcx, r13
call fcn.180018fa0
mov dword [rsp + 0x44], 1
lea rcx, [rbp + 0xa8]
call fcn.180019100
jmp 0x18000fe48
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r8d, dword [0x180069c80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 7
jne 0x180010390
mov ecx, r8d
test r8d, r8d
je 0x180010386
dec ecx
je 0x18001037d
inc r8d
mov dword [0x180069c80], r8d
jmp 0x180010390
mov dword [0x180069c80], r15d
jmp 0x180010390
mov dword [0x180069c80], 2
cmp byte [rsp + 0x40], 0
je 0x1800103a1
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.InternetReadFile_Failed
lea rcx, [rbp + 0x80]
call fcn.180001aa0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c7b0
mov dword [rsp + 0x44], 1
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1800103e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1800103f3
call fcn.1800289b0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001040c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x180010426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001043f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x180010456
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x180010470
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001048a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1800104a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1800104bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1800104d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1800104f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001050a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x180010523
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, r13
mov rcx, qword [rbp + 0xe30]
xor rcx, rsp
call fcn.1800289d0
add rsp, 0xf48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret