Function at 0x140022f80
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 [0x1400950a0]
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 rdi, rcx
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], rax
xor r14d, r14d
mov qword [r11 - 0x80], r14
mov qword [r11 - 0x70], r14
mov qword [r11 - 0x68], 7
mov word [r11 - 0x80], r14w
xor r8d, r8d
lea rdx, [0x140084ee8]
lea rcx, [r11 - 0x80]
call fcn.140007c80
nop
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 7
lea r8d, [r14 + 5]
lea rdx, str.UPCKD
lea rcx, [rsp + 0x108]
call fcn.140007c80
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x108]
call fcn.14001b1a0
mov r15, qword [rsp + 0x1a8]
test al, al
je 0x140023150
lea r9, [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1c0]
cmp rsi, 8
setae bl
cmovae r9, r15
cmp qword [rsp + 0x1b8], 1
jne 0x140023150
lea edx, [r14 + 1]
lea rax, [0x14008625c]
movzx ecx, word [r9]
mov r8d, 0x31
cmp cx, r8w
jb 0x140023150
sub r9, rax
cmp cx, r8w
ja 0x140023150
cmp rdx, 1
je 0x1400230cc
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400230a5
jmp 0x140023150
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov r8d, 0x19
lea rdx, str.IsUpdateRequired_disabled
lea rcx, [rsp + 0x108]
call fcn.140007e50
lea rcx, [rsp + 0x108]
call fcn.14002f780
nop
test bl, bl
je 0x140023149
lea rdx, [rsi*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023141
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ef0
mov rcx, r15
call fcn.14003e780
xor al, al
jmp 0x140023be1
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
xor r8d, r8d
lea rdx, [0x14008008b]
lea rcx, [rsp + 0x148]
call fcn.140007e50
nop
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], 7
mov word [rsp + 0x128], r14w
xor r8d, r8d
lea rdx, [0x140084ee8]
lea rcx, [rsp + 0x128]
call fcn.140007c80
nop
mov qword [rsp + 0x188], r14
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1a0], 7
mov word [rsp + 0x188], r14w
xor r8d, r8d
lea rdx, [0x140084ee8]
lea rcx, [rsp + 0x188]
call fcn.140007c80
nop
mov dword [rsp + 0x78], r14d
call fcn.140003340
lea rcx, [rax + 0xe0]
lea r8, [rsp + 0x188]
lea rdx, [rsp + 0x128]
call fcn.140030240
lea rdx, [rsp + 0x168]
mov rcx, rdi
call fcn.1400246e0
nop
lea rdx, [rsp + 0xc8]
mov rcx, rdi
call fcn.140025220
nop
movabs r12, 0x7fffffffffffffff
mov rax, r12
mov rcx, qword [rsp + 0x178]
sub rax, rcx
cmp rax, 0x2a
jb 0x140023ea1
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.14000a6b0
lea rcx, [rsp + 0x50]
call fcn.14002f780
call fcn.140003340
lea rcx, [rax + 0xe0]
mov rdx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rdx
cmp rax, 0x24
jb 0x140023ea6
cmp qword [rcx + 0x18], 8
jb 0x1400232e9
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.14000a370
cmp byte [0x1400988ea], 0
je 0x140023339
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 0x140023381
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002337c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023eab
call fcn.14003e780
lea rax, [rsp + 0x108]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], 0xf
mov r8d, 0xe
lea rdx, str.Update_request
lea rcx, [rsp + 0x108]
call fcn.140007e50
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], 0xf
mov r8d, 0x19
lea rdx, str.Updater::IsUpdateRequired
lea rcx, [rsp + 0x80]
call fcn.140007e50
nop
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x80]
call fcn.140019e20
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x1c8], xmm0
mov qword [rsp + 0x1d8], r14
mov rdi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
cmp rdi, r14
je 0x14002353e
mov rsi, r14
sub rsi, rdi
sar rsi, 6
movabs rax, 0x3ffffffffffffff
cmp rsi, rax
ja 0x140023eb1
shl rsi, 6
cmp rsi, 0x1000
jb 0x1400234a1
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140023eb6
call fcn.14003e788
test rax, rax
je 0x140023ebb
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1400234b5
test rsi, rsi
je 0x1400234b3
mov rcx, rsi
call fcn.14003e788
mov rbx, rax
jmp 0x1400234b5
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
nop
cmp rdi, r14
je 0x140023536
mov qword [rsp + 0x48], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.140006ea0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x20]
call fcn.140006ea0
nop
add rbx, 0x40
mov qword [rsp + 0x88], rbx
add rdi, 0x40
jmp 0x140023500
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 0x14002359f
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x108], xmm0
lea ebx, [r14 + 0xf]
jmp 0x14002360f
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400235e9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140023ec1
mov rcx, rax
call fcn.14003e788
mov rcx, rax
test rax, rax
je 0x140023ec6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400235f8
test rcx, rcx
je 0x1400235f5
call fcn.14003e788
jmp 0x1400235f8
mov rax, r14
mov qword [rsp + 0x108], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.140040c10
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.140006ea0
mov rbx, rax
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0xe8]
call fcn.140006ea0
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.14002fc00
test al, al
jne 0x140023814
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 0x1400236b0
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 0x140023728
lea r8, [rsp + 0x1dd]
sub r8, r10
mov rdx, r10
lea rcx, [rsp + 0x108]
call fcn.140007e50
nop
mov r9d, 0x28
lea r8, str.Failed_sending_update_required_request:
lea rcx, [rsp + 0x108]
call fcn.14000b4d0
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.140007e50
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.14001a0d0
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x140023801
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400237fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ecc
call fcn.14003e780
mov rax, qword [rsp + 0xa0]
mov dword [rax], 1
jmp 0x140023a3d
mov r8d, dword [rsp + 0x78]
cmp r8d, 0xc8
je 0x1400239a2
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 0x140023840
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 0x1400238b6
lea r8, [rsp + 0x1dd]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0x108]
call fcn.140007e50
nop
mov r9d, 0x24
lea r8, str.Bad_HTTP_response_code_from_server:
lea rcx, [rsp + 0x108]
call fcn.14000b4d0
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.140007e50
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.14001a0d0
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x14002398f
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002398a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ed2
call fcn.14003e780
mov rax, qword [rsp + 0xa0]
mov dword [rax], 2
jmp 0x140023a3d
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jne 0x140023c04
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.140007e50
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.140007e50
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x108]
call fcn.14001a0d0
mov rax, qword [rsp + 0xa0]
mov dword [rax], 3
lea rcx, [rsp + 0xc8]
call fcn.14002c520
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x140023a8e
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023a89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ed8
call fcn.14003e780
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140023af3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023aed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ede
call fcn.14003e780
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x140023b3c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023b36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ee4
call fcn.14003e780
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x140023b7f
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023b7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023eea
call fcn.14003e780
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x140023bdf
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023bd6
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023ef0
mov rcx, r15
call fcn.14003e780
nop
xor al, al
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14003e760
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 0x140023ef6
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.14000a6b0
lea rcx, [rsp + 0x50]
call fcn.14002f780
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.140007e50
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.140007e50
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x108]
call fcn.140019e20
nop
mov r9, qword [rsp + 0xa8]
mov r8, r13
lea rdx, [rsp + 0x148]
call fcn.140023f20
movzx ebx, al
lea rcx, [rsp + 0xc8]
call fcn.14002c520
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 0x10
jb 0x140023d44
inc rdx
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023d3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023efc
call fcn.14003e780
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 0xf
mov byte [rsp + 0x168], 0
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 8
jb 0x140023da9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023da3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f02
call fcn.14003e780
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x140023df2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023dec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f08
call fcn.14003e780
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 0x10
jb 0x140023e35
inc rdx
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023e30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f0e
call fcn.14003e780
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 0xf
mov byte [rsp + 0x148], 0
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 8
jb 0x140023e94
lea rdx, [rdx*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023e8c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f14
mov rcx, r15
call fcn.14003e780
movzx eax, bl
jmp 0x140023be1
call fcn.140001350
call fcn.140001350
call fcn.1400512b4
int3
call fcn.1400012b0
call fcn.1400012b0
call fcn.1400512b4
nop
call fcn.1400012b0
call fcn.1400512b4
nop
call fcn.1400512b4
int3
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.140001350
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
nop
call fcn.1400512b4
int3