Function at 0x140023240
Capabilities:
Print debug messages

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov rax, qword [0x14009a0a0]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov rax, r9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r8
mov r13, rdx
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], rax
xor esi, esi
mov qword [r11 - 0x80], rsi
mov qword [r11 - 0x70], rsi
mov qword [r11 - 0x68], 7
mov word [r11 - 0x80], si
xor r8d, r8d
lea rdx, [0x140089f98]
lea rcx, [r11 - 0x80]
call fcn.140007cf0
nop
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], 7
lea r8d, [rsi + 5]
lea rdx, str.UPCKD
lea rcx, [rsp + 0x108]
call fcn.140007cf0
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x108]
call fcn.14001b250
mov r15, qword [rsp + 0x1a8]
test al, al
je 0x14002340b
lea r9, [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1c0]
cmp rdi, 8
setae bl
cmovae r9, r15
cmp qword [rsp + 0x1b8], 1
jne 0x14002340b
lea edx, [rsi + 1]
lea rax, [0x14008b38c]
movzx ecx, word [r9]
mov r8d, 0x31
cmp cx, r8w
jb 0x14002340b
sub r9, rax
cmp cx, r8w
ja 0x14002340b
cmp rdx, 1
je 0x140023387
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x140023360
jmp 0x14002340b
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], 0xf
mov r8d, 0x19
lea rdx, str.IsUpdateRequired_disabled
lea rcx, [rsp + 0x108]
call fcn.140007ec0
lea rcx, [rsp + 0x108]
call fcn.140030470
nop
test bl, bl
je 0x140023404
lea rdx, [rdi*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400233fc
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241a0
mov rcx, r15
call fcn.140040d10
xor al, al
jmp 0x140023e91
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
xor r8d, r8d
lea rdx, [0x14008512b]
lea rcx, [rsp + 0x148]
call fcn.140007ec0
nop
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], 7
mov word [rsp + 0x128], si
xor r8d, r8d
lea rdx, [0x140089f98]
lea rcx, [rsp + 0x128]
call fcn.140007cf0
nop
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x198], rsi
mov qword [rsp + 0x1a0], 7
mov word [rsp + 0x188], si
xor r8d, r8d
lea rdx, [0x140089f98]
lea rcx, [rsp + 0x188]
call fcn.140007cf0
nop
mov dword [rsp + 0x78], esi
call fcn.140003370
lea rcx, [rax + 0xe0]
lea r8, [rsp + 0x188]
lea rdx, [rsp + 0x128]
call fcn.140030f30
lea rdx, [rsp + 0x168]
call fcn.140024990
nop
lea rdx, [rsp + 0xc8]
call fcn.1400254d0
nop
movabs r12, 0x7fffffffffffffff
mov rax, r12
mov rcx, qword [rsp + 0x178]
sub rax, rcx
cmp rax, 0x2a
jb 0x140024151
lea rax, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rax, qword [rsp + 0x168]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x2a
lea r9, str.IsUpdateRequired_Sending_updater_request:
lea rcx, [rsp + 0x50]
call fcn.14000a730
lea rcx, [rsp + 0x50]
call fcn.140030470
call fcn.140003370
lea rcx, [rax + 0xe0]
mov rdx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rdx
cmp rax, 0x24
jb 0x140024156
cmp qword [rcx + 0x18], 8
jb 0x14002359b
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x24
lea r9, str.IsUpdateRequired_update_server_URL:
lea rcx, [rsp + 0x108]
call fcn.14000a3f0
cmp byte [0x14009d9ba], 0
je 0x1400235eb
lea rcx, [rsp + 0x108]
cmp qword [rsp + 0x120], 8
cmovae rcx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rsp + 0x120]
cmp rdx, 8
jb 0x140023633
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002362e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002415b
call fcn.140040d10
lea rax, [rsp + 0x108]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], 0xf
mov r8d, 0xe
lea rdx, str.Update_request
lea rcx, [rsp + 0x108]
call fcn.140007ec0
nop
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 0xf
mov r8d, 0x19
lea rdx, str.Updater::IsUpdateRequired
lea rcx, [rsp + 0x80]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x80]
call fcn.140019ed0
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x1c8], xmm0
mov qword [rsp + 0x1d8], rsi
mov rdi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
cmp rdi, r14
je 0x1400237ee
mov rsi, r14
sub rsi, rdi
sar rsi, 6
movabs rax, 0x3ffffffffffffff
cmp rsi, rax
ja 0x140024161
shl rsi, 6
cmp rsi, 0x1000
jb 0x140023753
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140024166
call fcn.140040d18
test rax, rax
je 0x14002416b
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140023767
test rsi, rsi
je 0x140023765
mov rcx, rsi
call fcn.140040d18
mov rbx, rax
jmp 0x140023767
xor ebx, ebx
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x1d0], rbx
lea rax, [rsi + rbx]
mov qword [rsp + 0x1d8], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rbx
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x90], rax
cmp rdi, r14
je 0x1400237e6
mov qword [rsp + 0x48], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.140006d80
nop
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x20]
call fcn.140006d80
nop
add rbx, 0x40
mov qword [rsp + 0x88], rbx
add rdi, 0x40
jmp 0x1400237b0
mov qword [rsp + 0x1d0], rbx
lea rax, [rsp + 0x108]
mov qword [rsp + 0x48], rax
xor r14d, r14d
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], r14
mov rsi, qword [rsp + 0x178]
lea rdi, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rdi, qword [rsp + 0x168]
cmp rsi, 0x10
jae 0x14002384f
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x108], xmm0
lea ebx, [r14 + 0xf]
jmp 0x1400238bf
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140023899
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140024171
mov rcx, rax
call fcn.140040d18
mov rcx, rax
test rax, rax
je 0x140024176
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400238a8
test rcx, rcx
je 0x1400238a5
call fcn.140040d18
jmp 0x1400238a8
mov rax, r14
mov qword [rsp + 0x108], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1400431a0
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x50]
call fcn.140006d80
mov rbx, rax
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0xe8]
call fcn.140006d80
nop
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x148]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x1c8]
lea r8, [rsp + 0x108]
mov rdx, rbx
mov rcx, rax
call fcn.1400308f0
test al, al
jne 0x140023ac4
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r10, [rsp + 0x1dd]
nop dword [rax]
dec r10
mov eax, 0xcccccccd
mul r9d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea r8d, [rcx + rdx]
add r8b, r8b
sub r9b, r8b
add r9b, 0x30
mov byte [r10], r9b
mov r9d, edx
test edx, edx
jne 0x140023960
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov byte [rsp + 0x108], dl
lea rax, [rsp + 0x1dd]
cmp r10, rax
je 0x1400239d8
lea r8, [rsp + 0x1dd]
sub r8, r10
mov rdx, r10
lea rcx, [rsp + 0x108]
call fcn.140007ec0
nop
mov r9d, 0x28
lea r8, str.Failed_sending_update_required_request:
lea rcx, [rsp + 0x108]
call fcn.14000b550
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x90], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov r8d, 0x10
lea rdx, str.IsUpdateRequired
lea rcx, [rsp + 0x50]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.14001a180
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x140023ab1
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002417c
call fcn.140040d10
mov rax, qword [rsp + 0xa0]
mov dword [rax], 1
jmp 0x140023ced
mov r8d, dword [rsp + 0x78]
cmp r8d, 0xc8
je 0x140023c52
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x1dd]
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140023af0
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov byte [rsp + 0x108], dl
lea rax, [rsp + 0x1dd]
cmp r9, rax
je 0x140023b66
lea r8, [rsp + 0x1dd]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0x108]
call fcn.140007ec0
nop
mov r9d, 0x24
lea r8, str.Bad_HTTP_response_code_from_server:
lea rcx, [rsp + 0x108]
call fcn.14000b550
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x90], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov r8d, 0x10
lea rdx, str.IsUpdateRequired
lea rcx, [rsp + 0x50]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.14001a180
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x140023c3f
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023c3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140024182
call fcn.140040d10
mov rax, qword [rsp + 0xa0]
mov dword [rax], 2
jmp 0x140023ced
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jne 0x140023eb4
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
lea r8d, [rcx + 0x17]
lea rdx, str.Empty_response_returned
lea rcx, [rsp + 0x50]
call fcn.140007ec0
nop
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov r8d, 0x10
lea rdx, str.IsUpdateRequired
lea rcx, [rsp + 0x108]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x108]
call fcn.14001a180
mov rax, qword [rsp + 0xa0]
mov dword [rax], 3
lea rcx, [rsp + 0xc8]
call fcn.140027950
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x140023d3e
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023d39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140024188
call fcn.140040d10
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140023da3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023d9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002418e
call fcn.140040d10
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x140023dec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023de6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140024194
call fcn.140040d10
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x140023e2f
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023e2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002419a
call fcn.140040d10
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x140023e8f
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023e86
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241a0
mov rcx, r15
call fcn.140040d10
nop
xor al, al
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.140040cf0
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
sub r12, rcx
cmp r12, 0x1f
jb 0x1400241a6
lea rax, [rsp + 0x148]
cmp qword [rsp + 0x160], 0x10
cmovae rax, qword [rsp + 0x148]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x1f
lea r9, str.IsUpdateRequired_got_response:
lea rcx, [rsp + 0x50]
call fcn.14000a730
lea rcx, [rsp + 0x50]
call fcn.140030470
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov r8d, 0xc
lea rdx, str.Got_response
lea rcx, [rsp + 0x50]
call fcn.140007ec0
nop
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov r8d, 0x15
lea rdx, str.Updater::HandleUpdate
lea rcx, [rsp + 0x108]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x108]
call fcn.140019ed0
nop
mov r9, qword [rsp + 0xa8]
mov r8, r13
lea rdx, [rsp + 0x148]
call fcn.1400241d0
movzx ebx, al
lea rcx, [rsp + 0xc8]
call fcn.140027950
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x140023ff4
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023fef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241ac
call fcn.140040d10
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140024059
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140024053
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241b2
call fcn.140040d10
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x1400240a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002409c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241b8
call fcn.140040d10
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x1400240e5
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400240e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241be
call fcn.140040d10
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x140024144
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x14002413c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400241c4
mov rcx, r15
call fcn.140040d10
movzx eax, bl
jmp 0x140023e91
call fcn.140001380
call fcn.140001380
call fcn.140053844
int3
call fcn.1400012e0
call fcn.1400012e0
call fcn.140053844
nop
call fcn.1400012e0
call fcn.140053844
nop
call fcn.140053844
int3
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140001380
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
int3