Function at 0x140041810
Capabilities:
Check if file exists
Create directory
Get common file path
Get startup folder
Initialize winhttp library
Prepare http request
Receive http response
Write file on windows
Write file to startup folder

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x380
mov qword [rsp + 0x150], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14011d8d0]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x108], r9
mov dword [rsp + 0x90], r8d
mov r13, rdx
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xc8], rcx
mov byte [rsp + 0x58], 0
xor r15d, r15d
mov qword [r11 - 0x300], r15
lea rcx, [r11 - 0x300]
call fcn.14001dc50
mov rbx, qword [rsp + 0xa8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
test rbx, rbx
je 0x1400418fb
test rbx, 0xffffffffffff0000
jne 0x1400418e4
movzx ebx, bx
xor edx, edx
mov ecx, ebx
call fcn.1400017e0
test rax, rax
je 0x1400418de
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140001f70
or r12, 0xffffffffffffffff
jmp 0x140041912
or r12, 0xffffffffffffffff
jmp 0x140041917
xor eax, eax
or r12, 0xffffffffffffffff
mov rcx, r12
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140041902
mov ecx, r15d
or r12, 0xffffffffffffffff
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140001e80
mov rdi, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
cmp dword [rsp + 0x3d8], 3
jne 0x140041a9d
lea rdx, str.VAIO_Care_Client_
lea rcx, [rsp + 0x118]
call fcn.140004230
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x140041a90
cmp dword [rbx + 0x10], 0
jl 0x14004198c
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14004198c
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140041983
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
lea rax, [rdi + 0x18]
jmp 0x140041a8b
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x1400419f0
mov rsi, qword [rbx]
cmp dword [rbx + 8], 0
je 0x140041a90
cmp dword [rbx + 0x10], 0
jge 0x1400419c4
cmp dword [rdi - 0xc], 0
jge 0x1400419b7
mov ecx, 0x80070057
call fcn.140001000
mov dword [rdi - 0x10], r15d
mov word [rdi], r15w
jmp 0x140041a90
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x1400419de
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x140041a8b
test r14, r14
jne 0x1400419ff
mov ecx, 0x80070057
call fcn.140001000
mov r15d, dword [rdi - 0x10]
mov r13, r14
sub r13, rdi
sar r13, 1
test esi, esi
jns 0x140041a1a
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
sub eax, esi
or eax, ecx
jge 0x140041a3c
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.140001c20
mov rdi, qword [rsp + 0x48]
lea rbx, [rsi + rsi]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rbx
add rdx, rdx
cmp r13, r15
ja 0x140041a5e
lea r8, [rdi + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x140041a67
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp esi, dword [rdi - 0xc]
jg 0x140041a81
mov dword [rdi - 0x10], esi
xor r15d, r15d
mov word [rbx + rdi], r15w
mov r13, qword [rsp + 0xb0]
jmp 0x140041a90
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x118]
jmp 0x140041c0b
lea rdx, str.VAIO_Update_Client_
lea rcx, [rsp + 0x110]
call fcn.140004230
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x140041c03
cmp dword [rbx + 0x10], 0
jl 0x140041aff
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140041aff
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140041af6
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
lea rax, [rdi + 0x18]
jmp 0x140041bfe
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x140041b63
mov rsi, qword [rbx]
cmp dword [rbx + 8], 0
je 0x140041c03
cmp dword [rbx + 0x10], 0
jge 0x140041b37
cmp dword [rdi - 0xc], 0
jge 0x140041b2a
mov ecx, 0x80070057
call fcn.140001000
mov dword [rdi - 0x10], r15d
mov word [rdi], r15w
jmp 0x140041c03
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140041b51
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x140041bfe
test r14, r14
jne 0x140041b72
mov ecx, 0x80070057
call fcn.140001000
mov r15d, dword [rdi - 0x10]
mov r13, r14
sub r13, rdi
sar r13, 1
test esi, esi
jns 0x140041b8d
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
sub eax, esi
or eax, ecx
jge 0x140041baf
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.140001c20
mov rdi, qword [rsp + 0x48]
lea rbx, [rsi + rsi]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rbx
add rdx, rdx
cmp r13, r15
ja 0x140041bd1
lea r8, [rdi + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x140041bda
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp esi, dword [rdi - 0xc]
jg 0x140041bf4
mov dword [rdi - 0x10], esi
xor r15d, r15d
mov word [rbx + rdi], r15w
mov r13, qword [rsp + 0xb0]
jmp 0x140041c03
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140041c26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140041c41
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsp + 0xa8], r15
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x68], rsi
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
test r13, r13
je 0x140041cd4
test r13, 0xffffffffffff0000
jne 0x140041cc1
movzx edi, r13w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140041cec
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140001f70
jmp 0x140041ce7
xor eax, eax
mov rcx, r12
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140041cd7
mov ecx, r15d
mov r8d, ecx
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.140001e80
mov rbx, qword [rsp + 0x40]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
test r13, r13
je 0x140041d4c
test r13, 0xffffffffffff0000
jne 0x140041d39
movzx r13d, r13w
xor edx, edx
mov ecx, r13d
call fcn.1400017e0
test rax, rax
je 0x140041d64
mov r8d, r13d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140001f70
jmp 0x140041d5f
xor eax, eax
mov rcx, r12
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140041d4f
mov ecx, r15d
mov r8d, ecx
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.140001e80
mov rdi, qword [rsp + 0x60]
movsxd r13, dword [rdi - 0x10]
test r13d, r13d
jns 0x140041d77
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r13d
or eax, ecx
jge 0x140041d9b
mov edx, r13d
lea rcx, [rsp + 0x60]
call fcn.140001c20
mov rdi, qword [rsp + 0x60]
lea eax, [r13 + 1]
movsxd rdx, eax
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcslwr_s]
cmp r13d, dword [rdi - 0xc]
jg 0x1400435d0
mov dword [rdi - 0x10], r13d
mov word [rdi + r13*2], r15w
mov dword [rsp + 0x84], r15d
mov dword [rsp + 0x94], r15d
cmp dword [rdi - 0x10], 0
jl 0x140041ee6
lea rdx, str.http:__
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsstr]
test rax, rax
je 0x140041e8e
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x140041e8e
mov r13d, dword [rsi - 0x10]
lea rdi, str.http:__
sub rdi, rsi
sar rdi, 1
mov ecx, 1
sub ecx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, 7
or eax, ecx
jge 0x140041e37
mov edx, 7
lea rcx, [rsp + 0x68]
call fcn.140001c20
mov rsi, qword [rsp + 0x68]
movsxd rdx, dword [rsi - 0xc]
mov r9d, Ordinal_17
mov rcx, rsi
add rdx, rdx
cmp rdi, r13
ja 0x140041e58
lea r8, [rsi + rdi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x140041e65
lea r8, str.http:__
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp dword [rsi - 0xc], 7
jl 0x140041e84
mov dword [rsi - 0x10], 7
mov word [rsi + 0xe], r15w
mov dword [rsp + 0x84], 1
jmp 0x140041ee6
mov ecx, 0x80070057
call fcn.140001000
cmp dword [rdi - 0x10], 0
jl 0x140041ee6
lea rdx, str.https:__
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsstr]
test rax, rax
je 0x140041ee6
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x140041ee6
mov r8d, 8
lea rdx, str.https:__
lea rcx, [rsp + 0x68]
call fcn.140001e80
mov dword [rsp + 0x94], 0x800000
mov dword [rsp + 0x84], 2
mov rsi, qword [rsp + 0x68]
mov r8d, dword [rbx - 0x10]
sub r8d, dword [rsi - 0x10]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x40]
call fcn.140001c80
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140042048
cmp dword [rdi + 0x10], 0
jl 0x140041f4e
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140041f4e
call fcn.140001b90
mov rbx, rax
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140041f45
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
jmp 0x140042043
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x140041fb2
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140042048
cmp dword [rdi + 0x10], 0
jge 0x140041f86
cmp dword [rbx - 0xc], 0
jge 0x140041f79
mov ecx, 0x80070057
call fcn.140001000
mov dword [rbx - 0x10], r15d
mov word [rbx], r15w
jmp 0x140042048
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140041fa0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x140042043
test r14, r14
jne 0x140041fc1
mov ecx, 0x80070057
call fcn.140001000
mov r15d, dword [rbx - 0x10]
mov r13, r14
sub r13, rbx
sar r13, 1
test esi, esi
jns 0x140041fdc
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x140041ffe
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.140001c20
mov rbx, qword [rsp + 0x40]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r13, r15
ja 0x140042020
lea r8, [rbx + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x140042029
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp esi, dword [rbx - 0xc]
jg 0x140042039
mov dword [rbx - 0x10], esi
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x140042048
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004206b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], 0
jge 0x14004207b
mov eax, r12d
jmp 0x14004209b
lea rdx, [0x1400e4478]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsstr]
test rax, rax
jne 0x140042095
mov eax, r12d
jmp 0x14004209b
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x40]
call fcn.140001d30
nop
mov r15, qword [rax]
lea rcx, [r15 - 0x18]
mov rdi, qword [rsp + 0x50]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x140042217
cmp dword [rsi + 0x10], 0
jl 0x140042103
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x140042103
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x1400420fa
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rdi + 0x18]
jmp 0x140042212
movsxd r13, dword [r15 - 0x10]
test r13d, r13d
jne 0x14004216c
mov r13, qword [rsi]
cmp dword [rsi + 8], 0
je 0x140042217
cmp dword [rsi + 0x10], 0
jge 0x14004213f
cmp dword [rdi - 0xc], 0
jge 0x14004212f
mov ecx, 0x80070057
call fcn.140001000
xor r15d, r15d
mov dword [rdi - 0x10], r15d
mov word [rdi], r15w
jmp 0x14004221a
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x140042159
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x18]
add rax, 0x18
jmp 0x140042212
test r15, r15
jne 0x14004217b
mov ecx, 0x80070057
call fcn.140001000
mov eax, dword [rdi - 0x10]
mov dword [rsp + 0xbc], eax
mov r14, r15
sub r14, rdi
sar r14, 1
test r13d, r13d
jns 0x14004219d
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, r13d
or eax, ecx
jge 0x1400421c1
mov edx, r13d
lea rcx, [rsp + 0x50]
call fcn.140001c20
mov rdi, qword [rsp + 0x50]
mov eax, dword [rsp + 0xbc]
lea rsi, [r13 + r13]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rsi
add rdx, rdx
cmp r14, rax
ja 0x1400421eb
lea r8, [rdi + r14*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x1400421f4
mov r8, r15
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp r13d, dword [rdi - 0xc]
jg 0x140042208
mov dword [rdi - 0x10], r13d
xor r15d, r15d
mov word [rsi + rdi], r15w
jmp 0x14004221a
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004223d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov esi, dword [rbx - 0x10]
mov rdi, qword [rsp + 0x40]
test esi, esi
jns 0x14004224e
mov eax, r12d
jmp 0x14004226e
lea rdx, [0x1400e4478]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsstr]
test rax, rax
jne 0x140042268
mov eax, r12d
jmp 0x14004226e
sub rax, rdi
sar rax, 1
sub esi, eax
lea r8d, [rsi - 1]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x40]
call fcn.140001c80
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x1400423d8
cmp dword [rsi + 0x10], 0
jl 0x1400422d4
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400422d4
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x1400422cb
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rdi + 0x18]
jmp 0x1400423d3
movsxd r13, dword [r14 - 0x10]
test r13d, r13d
jne 0x14004233a
mov r13, qword [rsi]
cmp dword [rsi + 8], 0
je 0x1400423d8
cmp dword [rsi + 0x10], 0
jge 0x14004230d
cmp dword [rdi - 0xc], 0
jge 0x140042300
mov ecx, 0x80070057
call fcn.140001000
mov dword [rbx - 0x10], r15d
mov word [rdi], r15w
jmp 0x1400423d8
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x140042327
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x18]
add rax, 0x18
jmp 0x1400423d3
test r14, r14
jne 0x140042349
mov ecx, 0x80070057
call fcn.140001000
mov r15d, dword [rbx - 0x10]
mov rbx, r14
sub rbx, rdi
sar rbx, 1
test r13d, r13d
jns 0x140042365
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, r13d
or eax, ecx
jge 0x140042389
mov edx, r13d
lea rcx, [rsp + 0x40]
call fcn.140001c20
mov rdi, qword [rsp + 0x40]
lea rsi, [r13 + r13]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rsi
add rdx, rdx
cmp rbx, r15
ja 0x1400423ac
lea r8, [rdi + rbx*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x1400423b5
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp r13d, dword [rdi - 0xc]
jg 0x1400423c9
mov dword [rdi - 0x10], r13d
xor r15d, r15d
mov word [rsi + rdi], r15w
jmp 0x1400423d8
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400423fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
movzx ebx, r15w
mov edx, reloc.ATL100.DLL_Ordinal_58
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
je 0x14004263c
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x14004263c
mov ebx, dword [rdi - 0x10]
mov edx, reloc.ATL100.DLL_Ordinal_58
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
jne 0x140042445
mov eax, r12d
jmp 0x14004244b
sub rax, rdi
sar rax, 1
sub ebx, eax
lea r8d, [rbx - 1]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x50]
call fcn.140001c80
nop
mov edx, reloc.ATL100.DLL_Ordinal_58
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
jne 0x14004247c
mov eax, r12d
jmp 0x140042482
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x50]
call fcn.140001d30
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x1400425e1
cmp dword [rbx + 0x10], 0
jl 0x1400424e5
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400424e5
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x1400424dc
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
lea rax, [rdi + 0x18]
jmp 0x1400425dc
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x140042549
mov rsi, qword [rbx]
cmp dword [rbx + 8], 0
je 0x1400425e1
cmp dword [rbx + 0x10], 0
jge 0x14004251d
cmp dword [rdi - 0xc], 0
jge 0x140042510
mov ecx, 0x80070057
call fcn.140001000
mov dword [rdi - 0x10], r15d
mov word [rdi], r15w
jmp 0x1400425e1
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140042537
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x1400425dc
test r14, r14
jne 0x140042558
mov ecx, 0x80070057
call fcn.140001000
mov r15d, dword [rdi - 0x10]
mov r13, r14
sub r13, rdi
sar r13, 1
test esi, esi
jns 0x140042573
mov ecx, 0x80070057
call fcn.140001000
mov ecx, 1
sub ecx, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
sub eax, esi
or eax, ecx
jge 0x140042595
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.140001c20
mov rdi, qword [rsp + 0x50]
lea rbx, [rsi + rsi]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rbx
add rdx, rdx
cmp r13, r15
ja 0x1400425b7
lea r8, [rdi + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x1400425c0
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp esi, dword [rdi - 0xc]
jg 0x1400425d2
mov dword [rdi - 0x10], esi
xor r15d, r15d
mov word [rbx + rdi], r15w
jmp 0x1400425e1
mov ecx, 0x80070057
call fcn.140001000
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042604
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.MSVCR100.dll__wtoi]
mov ebx, eax
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042637
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0xc8]
mov rcx, r14
call fcn.1400412b0
test al, al
je 0x14004272e
lea rcx, [rsp + 0x128]
call fcn.140041130
nop
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x84]
mov rcx, r14
call fcn.140040d60
lea r8, [0x1400e4474]
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0xe8]
call fcn.140002ce0
nop
lea r8, [rsp + 0x140]
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.140008ad0
mov dword [rsp + 0x20], r15d
mov r9, qword [rsp + 0x148]
mov r8, qword [rax]
mov edx, 3
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r13, rax
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400426f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004271a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x128]
call fcn.140041210
mov rdi, qword [rsp + 0x50]
jmp 0x14004274b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r13, rax
test r13, r13
jne 0x1400427fe
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042775
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042796
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400427b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400427d8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400427f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.14005bf40
lea rdx, str.6000
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x140042842
lea rcx, [rsp + 0x70]
call fcn.14005cbc0
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCR100.dll__wtoi]
mov dword [rsp + 0xb8], eax
mov r9d, 4
lea r8, [rsp + 0xb8]
lea edx, [r9 + 2]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov rcx, r13
test eax, eax
jne 0x14004294c
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400428a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400428c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400428e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042905
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042926
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042947
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
xor r9d, r9d
movzx r8d, bx
mov rdx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r15, rax
test rax, rax
jne 0x140042a3d
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042993
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400429b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400429d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400429f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042a17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042a38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x30], eax
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, qword [rsp + 0x40]
lea rdx, [0x1400e4460]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
test rax, rax
jne 0x140042b56
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042aac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042acd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042aee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042b0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042b30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042b51
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x1400434ec
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x140042c76
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042bcc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042bed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042c0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042c2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042c50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042c71
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov eax, dword [rsp + 0x90]
cmp eax, 5
je 0x140042c8b
cmp eax, 6
jne 0x140042d85
mov rdx, rsi
mov rcx, r14
call fcn.140040cb0
test al, al
jne 0x140042d85
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042cdb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042cfc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042d1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042d3e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042d5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042d80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0x88]
call fcn.140002710
nop
mov edx, Ordinal_49
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.MSVCR100.dll_wcsrchr]
mov r14, rax
test rax, rax
jne 0x140042dbb
mov r14d, r12d
jmp 0x140042dc6
sub r14, qword [rsp + 0x88]
sar r14, 1
mov word [rsp + 0x160], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x162]
call sub.MSVCR100.dll_memset
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xd0], rdi
xor r9d, r9d
lea r8d, [r9 + 0x23]
lea rdx, [rsp + 0x160]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x140042f46
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042e57
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042e7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042e9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042ebd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042ede
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042eff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140042f20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140042f41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
call fcn.140041390
test al, al
je 0x14004301b
mov rdi, qword [rsp + 0xa0]
lea rcx, [rdi - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140043003
cmp dword [rbx + 0x10], 0
jl 0x140042ff2
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140042ff2
call fcn.140001b90
mov rdi, rax
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140042fdf
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0xa0]
jmp 0x140043003
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.140001e80
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14004301b
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [rsp + 0x90]
cmp eax, 5
jne 0x14004303e
lea r8d, [rax + 7]
lea rdx, str.Icon_Files_
lea rcx, [rsp + 0x78]
call fcn.140003c10
jmp 0x14004309a
cmp eax, 6
jne 0x14004305a
lea r8d, [rax + 5]
lea rdx, str.XML_Files_
lea rcx, [rsp + 0x78]
call fcn.140003c10
jmp 0x14004309a
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x160]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x78]
call fcn.140001e80
mov r8d, reloc.ATL100.DLL_Ordinal_30
lea rdx, str.Sony_CorporationVAIO_Update_
lea rcx, [rsp + 0x78]
call fcn.140003c10
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400430b7
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax - 0x10]
sub r8d, r14d
dec r8d
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x88]
call fcn.140001c80
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.140003c10
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043114
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x108]
call fcn.140002250
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400432d5
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400431a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400431c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400431e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004320a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004322b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004324c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004326d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004328e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400432af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400432d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov dword [rsp + 0x80], r14d
mov ecx, 0x10000
call fcn.1400ca8e8
mov rdi, rax
mov rcx, rax
mov r8d, 0x10000
xor edx, edx
call sub.MSVCR100.dll_memset
lea r9, [rsp + 0x80]
mov r8d, 0x10000
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x14004335d
mov dword [rsp + 0x98], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x98]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14004335d
cmp dword [rsp + 0x98], r14d
je 0x14004335d
mov dword [rsp + 0x80], r14d
mov rcx, rdi
jmp 0x1400432ed
test rdi, rdi
je 0x14004336a
mov rcx, rdi
call sub.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_
mov byte [rsp + 0x58], 1
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400433b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400433d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400433fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043421
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043442
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043463
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043484
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400434a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400434c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400434e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140043529
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004354a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004356b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004358c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400435ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400435ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400435db
mov ecx, 0x80070057
call fcn.140001000
nop
movzx eax, byte [rsp + 0x58]
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.1400cafa0
lea r11, [rsp + 0x380]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret