Function at 0x140022d20
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 [0x1400990a0]
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, [0x140088fa8]
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 0x140022eeb
lea r9, [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1c0]
cmp rdi, 8
setae bl
cmovae r9, r15
cmp qword [rsp + 0x1b8], 1
jne 0x140022eeb
lea edx, [rsi + 1]
lea rax, [0x14008a38c]
movzx ecx, word [r9]
mov r8d, 0x31
cmp cx, r8w
jb 0x140022eeb
sub r9, rax
cmp cx, r8w
ja 0x140022eeb
cmp rdx, 1
je 0x140022e67
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x140022e40
jmp 0x140022eeb
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.14002ff50
nop
test bl, bl
je 0x140022ee4
lea rdx, [rdi*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140022edc
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c80
mov rcx, r15
call fcn.1400407d0
xor al, al
jmp 0x140023971
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, [0x14008412b]
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, [0x140088fa8]
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, [0x140088fa8]
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.140030a10
lea rdx, [rsp + 0x168]
call fcn.140024470
nop
lea rdx, [rsp + 0xc8]
call fcn.140024fb0
nop
movabs r12, 0x7fffffffffffffff
mov rax, r12
mov rcx, qword [rsp + 0x178]
sub rax, rcx
cmp rax, 0x2a
jb 0x140023c31
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.14002ff50
call fcn.140003370
lea rcx, [rax + 0xe0]
mov rdx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rdx
cmp rax, 0x24
jb 0x140023c36
cmp qword [rcx + 0x18], 8
jb 0x14002307b
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 [0x14009c9ba], 0
je 0x1400230cb
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 0x140023113
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002310e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c3b
call fcn.1400407d0
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 0x1400232ce
mov rsi, r14
sub rsi, rdi
sar rsi, 6
movabs rax, 0x3ffffffffffffff
cmp rsi, rax
ja 0x140023c41
shl rsi, 6
cmp rsi, 0x1000
jb 0x140023233
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140023c46
call fcn.1400407d8
test rax, rax
je 0x140023c4b
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140023247
test rsi, rsi
je 0x140023245
mov rcx, rsi
call fcn.1400407d8
mov rbx, rax
jmp 0x140023247
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 0x1400232c6
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 0x140023290
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 0x14002332f
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x108], xmm0
lea ebx, [r14 + 0xf]
jmp 0x14002339f
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140023379
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140023c51
mov rcx, rax
call fcn.1400407d8
mov rcx, rax
test rax, rax
je 0x140023c56
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140023388
test rcx, rcx
je 0x140023385
call fcn.1400407d8
jmp 0x140023388
mov rax, r14
mov qword [rsp + 0x108], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.140042c60
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.1400303d0
test al, al
jne 0x1400235a4
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 0x140023440
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 0x1400234b8
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 0x140023591
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002358c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c5c
call fcn.1400407d0
mov rax, qword [rsp + 0xa0]
mov dword [rax], 1
jmp 0x1400237cd
mov r8d, dword [rsp + 0x78]
cmp r8d, 0xc8
je 0x140023732
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 0x1400235d0
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 0x140023646
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 0x14002371f
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002371a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c62
call fcn.1400407d0
mov rax, qword [rsp + 0xa0]
mov dword [rax], 2
jmp 0x1400237cd
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jne 0x140023994
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.140027430
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x14002381e
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023819
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c68
call fcn.1400407d0
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140023883
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002387d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c6e
call fcn.1400407d0
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x1400238cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400238c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c74
call fcn.1400407d0
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x14002390f
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002390a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c7a
call fcn.1400407d0
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x14002396f
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023966
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c80
mov rcx, r15
call fcn.1400407d0
nop
xor al, al
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400407b0
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 0x140023c86
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.14002ff50
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.140023cb0
movzx ebx, al
lea rcx, [rsp + 0xc8]
call fcn.140027430
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x140023ad4
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023acf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c8c
call fcn.1400407d0
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140023b39
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023b33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c92
call fcn.1400407d0
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x140023b82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023b7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c98
call fcn.1400407d0
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x140023bc5
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023bc0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023c9e
call fcn.1400407d0
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x140023c24
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023c1c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ca4
mov rcx, r15
call fcn.1400407d0
movzx eax, bl
jmp 0x140023971
call fcn.140001380
call fcn.140001380
call fcn.140053304
int3
call fcn.1400012e0
call fcn.1400012e0
call fcn.140053304
nop
call fcn.1400012e0
call fcn.140053304
nop
call fcn.140053304
int3
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140001380
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
nop
call fcn.140053304
int3