Function at 0x14002a970
Capabilities:
Check if file exists
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9fe0]
mov eax, 0xa0e0
call fcn.140240e90
sub rsp, rax
mov rax, qword [0x14036a3c8]
xor rax, rsp
mov qword [rbp + 0x9fd0], rax
mov r14, rcx
xor r13d, r13d
mov edi, r13d
mov dword [rsp + 0x30], r13d
mov rcx, qword [rcx]
test rcx, rcx
je 0x14002a9e8
lea r8, [0x140364428]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r8, qword [0x140364428]
xor r9d, r9d
mov edx, 0x603
call fcn.140074720
cmp byte [r14 + 0x6c], dil
je 0x14002ab79
mov esi, r13d
nop word [rax + rax]
lea rdx, str.MagicMonitorLoaderx64.exe
lea rcx, [rbp - 0x48]
call fcn.140029c40
mov rcx, rax
or edi, 1
mov dword [rsp + 0x30], edi
mov rax, qword [rax + 8]
sub rax, qword [rcx]
sar rax, 2
test rax, rax
jne 0x14002aa56
lea rdx, str.MagicMonitorLoaderx86.exe
lea rcx, [rsp + 0x60]
call fcn.140029c40
or edi, 2
mov dword [rsp + 0x30], edi
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 2
test rcx, rcx
jne 0x14002aa56
xor bl, bl
jmp 0x14002aa58
mov bl, 1
test dil, 2
je 0x14002aabb
and edi, 0xfffffffd
mov dword [rsp + 0x30], edi
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002aabb
mov rax, qword [rsp + 0x70]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002aaa8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd65
call fcn.140240d18
mov qword [rsp + 0x60], r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
test dil, 1
je 0x14002ab0e
and edi, 0xfffffffe
mov dword [rsp + 0x30], edi
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002ab0e
mov rax, qword [rbp - 0x38]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ab09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd6b
call fcn.140240d18
test bl, bl
je 0x14002ab79
lea r8, [0x140281a50]
lea rdx, [0x140281a50]
lea rcx, str._Extend_projection__exit_process
call fcn.140036e10
lea r9, str.GlobalDB3671D1_11BA_4F21_A97D_A632EFD7B0A4
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 3
jl 0x14002aa00
lea r8, [0x140281a50]
lea rdx, [0x140281a50]
lea rcx, str._Extend_projection__exit_process_failed
call fcn.140036e10
xor edx, edx
mov r8d, 0x4e20
lea rcx, [rbp + 0x390]
call fcn.140243780
xor edx, edx
mov r8d, 0x4e20
lea rcx, [rbp + 0x51b0]
call fcn.140243780
cmp byte [r14 + 0x6b], 0
jne 0x14002abc0
lea r8, [0x140285fc0]
mov edx, 0x2710
lea rcx, [rbp + 0x390]
call fcn.1402542b8
mov r8, qword [r14 + 0x78]
mov edx, 0x2710
lea rcx, [rbp + 0x390]
call fcn.140254238
lea r8, [0x140285fc0]
mov edx, 0x2710
lea rcx, [rbp + 0x51b0]
call fcn.1402542b8
mov r8, qword [r14 + 0x80]
mov edx, 0x2710
lea rcx, [rbp + 0x51b0]
call fcn.140254238
lea rdx, [r14 + 0x10]
mov dword [rdx], r13d
mov dword [r14 + 0xc], r13d
lea rcx, [rbp + 0x390]
call fcn.140025b80
mov rcx, qword [r14 + 0x80]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14002acc8
xor edx, edx
mov rcx, qword [r14 + 0x80]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14002acc8
lea r8, [0x140281a50]
mov rdx, qword [r14 + 0x80]
lea rcx, str.createDirectory_error
call fcn.140036e10
mov rcx, qword [r14]
test rcx, rcx
je 0x14002acc1
lea r8, [0x140364568]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r8, qword [0x140364568]
mov ebx, 1
mov r9d, ebx
mov edx, 0x603
call fcn.140074720
lea r9, str.retryBtn
mov r8d, ebx
mov edx, 0x604
mov rcx, qword [r14]
call fcn.140074720
lea r9, str.urlBtn
mov r8d, ebx
mov edx, 0x604
mov rcx, qword [r14]
call fcn.140074720
xor eax, eax
jmp 0x14002bd29
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xe8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xd0], 0
call fcn.14023d028
mov rbx, rax
call fcn.14023d00c
cqo
idiv rbx
imul r15, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add r15, rax
mov rsi, 0xffffffffffffffff
cmp byte [r14 + 0x6a], 0
jne 0x14002ad44
lea r9, [rbp + 0xd0]
lea r8, [rbp + 0x51b0]
lea rdx, [rbp + 0x390]
mov rcx, r14
call fcn.1400257f0
mov dword [rsp + 0x38], eax
jmp 0x14002af69
cmp byte [r14 + 0x6b], 0
je 0x14002ae44
mov rdx, qword [r14 + 0x80]
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0x100], r13
mov qword [rbp + 0x108], 7
mov word [rbp + 0xf0], r13w
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002ad80
lea rcx, [rbp + 0xf0]
call fcn.14000a410
nop
or edi, 4
mov dword [rsp + 0x30], edi
mov rdx, qword [r14 + 0x78]
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x68], 7
mov word [rbp + 0x50], r13w
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002adc0
lea rcx, [rbp + 0x50]
call fcn.14000a410
nop
or edi, 8
mov dword [rsp + 0x30], edi
mov rdx, qword [r14 + 0x88]
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r13w
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002ae00
lea rcx, [rbp + 0x30]
call fcn.14000a410
nop
or edi, 0x10
mov dword [rsp + 0x30], edi
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xf0]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.1400184e0
movzx eax, al
jmp 0x14002ae62
lea r9, [rbp + 0xd0]
lea r8, [rbp + 0x51b0]
lea rdx, [rbp + 0x390]
mov rcx, r14
call fcn.14002cef0
nop
mov dword [rsp + 0x38], eax
test dil, 0x10
je 0x14002aec0
and edi, 0xffffffef
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x14002aeaf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002aeaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd71
call fcn.140240d18
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r13w
test dil, 8
je 0x14002af1a
and edi, 0xfffffff7
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14002af09
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002af04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd77
call fcn.140240d18
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x68], 7
mov word [rbp + 0x50], r13w
test dil, 4
je 0x14002af69
and edi, 0xfffffffb
mov rdx, qword [rbp + 0x108]
cmp rdx, 8
jb 0x14002af69
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002af64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd7d
call fcn.140240d18
call fcn.14023d028
mov rbx, rax
call fcn.14023d00c
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
cmp dword [rsp + 0x38], 0
jne 0x14002afad
cmp byte [r14 + 0x6a], 0
jne 0x14002afad
mov edx, 7
mov rcx, r14
call fcn.140020d10
sub rbx, r15
movabs rax, 0x431bde82d7b634db
imul rbx
mov rcx, rdx
sar rcx, 0x12
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rsp + 0x48], rcx
mov rdx, qword [r14 + 0x40]
lea rcx, [rbp + 0x150]
call fcn.140036790
nop
lea rdx, [rbp + 0x150]
mov r9, qword [rbp + 0x150]
mov r10, qword [rbp + 0x168]
cmp r10, 0x10
cmovae rdx, r9
movabs r11, 0x7fffffffffffffff
mov r8, qword [rbp + 0x160]
test r8, r8
je 0x14002b16a
lea rax, [r8 - 1]
mov rcx, rsi
cmp rax, rcx
cmovb rcx, rax
add rcx, rdx
cmp byte [rcx], 0x2e
je 0x14002b042
cmp rcx, rdx
je 0x14002b16a
dec rcx
cmp byte [rcx], 0x2e
jne 0x14002b031
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
je 0x14002b16a
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x88], reloc.WS2_32.dll_ntohs
cmp r8, rcx
jb 0x14002bd83
sub r8, rcx
mov r15, rsi
cmp r8, rsi
cmovb r15, r8
lea r13, [rbp + 0x150]
cmp r10, 0x10
cmovae r13, r9
add r13, rcx
cmp r15, 0xf
ja 0x14002b0ba
mov qword [rbp + 0x80], r15
mov r8, r15
mov rdx, r13
lea rcx, [rbp + 0x70]
call fcn.1402430d0
mov byte [rbp + r15 + 0x70], 0
lea rax, [rbp + 0x70]
or edi, 0x220
xor r13d, r13d
jmp 0x14002b18d
cmp r15, r11
ja 0x14002bd89
mov rbx, r15
or rbx, 0xf
cmp rbx, r11
jbe 0x14002b0fc
mov rbx, r11
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.1402407f4
test rax, rax
je 0x14002bdad
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x14002b136
mov eax, reloc.WS2_32.dll_shutdown
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14002b124
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002bd5f
jmp 0x14002b0dc
test rcx, rcx
je 0x14002b133
call fcn.1402407f4
mov r12, rax
jmp 0x14002b136
xor r12d, r12d
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], rbx
mov r8, r15
mov rdx, r13
mov rcx, r12
call fcn.1402430d0
mov byte [r12 + r15], 0
mov qword [rbp + 0x70], r12
lea rax, [rbp + 0x70]
or edi, 0x220
xor r13d, r13d
jmp 0x14002b18d
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x180], r13
mov qword [rbp + 0x188], reloc.WS2_32.dll_ntohs
lea rax, [rbp + 0x170]
or edi, 0x40
mov dword [rsp + 0x30], edi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x120], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
test dil, 0x40
je 0x14002b203
and edi, 0xffffffbf
mov dword [rsp + 0x30], edi
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x14002b203
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b1fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bda7
call fcn.140240d18
test dil, 0x20
je 0x14002b247
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x14002b247
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b242
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bda7
call fcn.140240d18
call fcn.140063940
mov r13, rax
mov dword [rsp + 0x78], 0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov ecx, 0x50
call fcn.1402407f4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x80], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor ebx, ebx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x50], 8
movss xmm0, dword [0x1402887d0]
movss dword [rsp + 0x78], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp - 0x70]
call fcn.14000eb00
nop
lea rax, [0x1402861d0]
lea r15, [0x1402861f0]
mov rdx, r15
cmp byte [r14 + 0x6b], bl
cmovne rdx, rax
mov qword [rbp + 0x1c8], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x1c0], reloc.WLDAP32.dll_Ordinal_14
movsd xmm0, qword [str.enable_improve]
movsd qword [rbp + 0x1b0], xmm0
mov eax, dword [0x140286e48]
mov dword [rbp + 0x1b8], eax
movzx eax, word [0x140286e4c]
mov word [rbp + 0x1bc], ax
mov byte [rbp + 0x1be], bl
mov qword [rbp + 0x1d0], rbx
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x1e0], xmm0
mov byte [rbp + 0x1d0], bl
mov r8, rsi
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x14002b330
lea rcx, [rbp + 0x1d0]
call fcn.1400079a0
nop
mov qword [rbp + 0x208], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x200], 9
movsd xmm0, qword [str.extension]
movsd qword [rbp + 0x1f0], xmm0
movzx eax, byte [0x140286e58]
mov byte [rbp + 0x1f8], al
mov byte [rbp + 0x1f9], 0
mov qword [rbp + 0x210], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x220], xmm0
lea r12, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae r12, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
cmp rdi, 0x10
jae 0x14002b3d0
movups xmm0, xmmword [r12]
movaps xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x228], reloc.WS2_32.dll_ntohs
jmp 0x14002b44f
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14002b424
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002bd8f
mov rcx, rax
call fcn.1402407f4
mov rcx, rax
test rax, rax
je 0x14002bd95
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14002b432
test rcx, rcx
je 0x14002b430
call fcn.1402407f4
jmp 0x14002b432
xor eax, eax
mov qword [rbp + 0x210], rax
lea r8, [rdi + 1]
mov rdx, r12
mov rcx, rax
call fcn.1402430d0
mov qword [rbp + 0x228], rbx
mov qword [rbp + 0x220], rdi
lea rax, [0x140286e5c]
lea rdx, str.full
cmp byte [r14 + 0x6a], 0
cmovne rdx, rax
mov qword [rbp + 0x248], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x240], InitCommonControls
movsd xmm0, qword [str.upgrade_type]
movsd qword [rbp + 0x230], xmm0
mov eax, dword [0x140286e70]
mov dword [rbp + 0x238], eax
mov byte [rbp + 0x23c], 0
xor r12d, r12d
mov qword [rbp + 0x250], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x260], xmm0
mov byte [rbp + 0x250], r12b
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], r12b
jne 0x14002b4d0
lea rcx, [rbp + 0x250]
call fcn.1400079a0
nop
mov edi, dword [rsp + 0x38]
test edi, edi
lea rax, [0x1402861d0]
cmovne r15, rax
mov qword [rbp + 0x270], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x280], xmm0
mov byte [rbp + 0x270], 0
mov r8d, 6
lea rdx, str.result
lea rcx, [rbp + 0x270]
call fcn.1400079a0
nop
mov qword [rbp + 0x290], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x2a0], xmm0
mov byte [rbp + 0x290], 0
mov r8, rsi
inc r8
cmp byte [r15 + r8], 0
jne 0x14002b550
mov rdx, r15
lea rcx, [rbp + 0x290]
call fcn.1400079a0
nop
mov qword [rbp + 0x2b0], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x2c0], xmm0
mov byte [rbp + 0x2b0], 0
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.error_message
lea rcx, [rbp + 0x2b0]
call fcn.1400079a0
nop
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x2d0]
call fcn.140003500
nop
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x130]
call fcn.14002e670
mov rbx, rax
mov qword [rbp + 0x2f0], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x300], xmm0
mov byte [rbp + 0x2f0], 0
mov r8d, 8
lea rdx, str.duration
lea rcx, [rbp + 0x2f0]
call fcn.1400079a0
mov qword [rbp + 0x310], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x320], xmm0
movups xmm1, xmmword [rbx]
movaps xmmword [rbp + 0x310], xmm1
movups xmm0, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0x320], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
call fcn.14023d1b0
mov edx, eax
lea rcx, [rbp + 0x385]
call fcn.140015080
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0x385]
cmp rax, rcx
je 0x14002b681
lea r8, [rbp + 0x385]
sub r8, rax
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1400079a0
nop
mov qword [rbp + 0x330], r12
movdqa xmm0, xmmword [0x140282f00]
movdqa xmmword [rbp + 0x340], xmm0
mov byte [rbp + 0x330], 0
mov r8d, 9
lea rdx, str.cpu_count
lea rcx, [rbp + 0x330]
call fcn.1400079a0
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x350], xmm0
movups xmm1, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x360], xmm1
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], 0
mov dword [rsp + 0x38], 0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x30]
call fcn.14000c440
nop
lea r8, [rbp + 0x370]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp - 0x30]
call fcn.14000bf00
nop
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xb0], 0
mov r8d, reloc.WLDAP32.dll_Ordinal_14
lea rdx, str.upgrade_report
lea rcx, [rbp + 0xb0]
call fcn.1400079a0
nop
mov qword [rbp + 0x90], r12
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x90], 0
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.windows_updater
lea rcx, [rbp + 0x90]
call fcn.1400079a0
nop
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x30]
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0x90]
mov rcx, r13
call fcn.140064940
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x14002b7ec
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b7e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd9b
call fcn.140240d18
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x14002b846
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b841
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bda1
call fcn.140240d18
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xb0], 0
lea rcx, [rbp - 0x30]
call fcn.14000c540
nop
lea r9, [fcn.14000c6b0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x1b0]
call fcn.140240ee0
nop
mov r8, qword [rbp + 0x148]
cmp r8, 0x10
jb 0x14002b8a9
inc r8
mov rdx, qword [rbp + 0x130]
lea rcx, [rbp + 0x130]
call fcn.140007cf0
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x130], 0
lea rcx, [rsp + 0x78]
call fcn.14000c540
call fcn.140063940
mov rcx, rax
call fcn.140063830
test edi, edi
je 0x14002bbe1
lea rcx, [rsp + 0x48]
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, str.Updater:
lea rcx, str.CopyFiles:_succeed__Start_Check_Updated_Dir
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b921
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov dl, 1
lea rcx, [r14 + 0x80]
call fcn.140018990
test al, al
je 0x14002b9f3
mov rdx, qword [r14 + 0x80]
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x1a8], 7
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002b960
lea rcx, [rbp + 0x190]
call fcn.14000a410
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 8
jb 0x14002b9bd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b9b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bda7
call fcn.140240d18
mov edx, 9
mov rcx, r14
call fcn.140020d10
lea rcx, [rsp + 0x50]
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, str.Updater:
lea rcx, str.CheckFiles:_succeed
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x50]
jmp 0x14002ba3d
mov edx, 8
mov rcx, r14
call fcn.140020d10
cmp byte [r14 + 0x69], 0
jne 0x14002bbbd
cmp byte [r14 + 0x6a], 0
jne 0x14002bbbd
lea rcx, [rsp + 0x58]
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, str.Updater:
lea rcx, str.CheckFiles:_Failed__just_log
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ba56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
call fcn.140035be0
lea rcx, [rsp + 0x38]
test al, al
jne 0x14002baa6
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, [0x140281a50]
lea rcx, str.set_update_dir_error
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14002bc39
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
jmp 0x14002bc39
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, [0x140281a50]
lea rcx, str.set_update_dir_ok
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14002badf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
xor r8d, r8d
lea rdx, [0x140364870]
lea rcx, [0x140364070]
call fcn.140009be0
lea r8, [0x140281a50]
lea rdx, str.UpdatePlugin
lea rcx, str.UpdatePlugin_:_Is_not_big_customer_ver.
call fcn.140036e10
mov rcx, qword [r14]
test rcx, rcx
je 0x14002bb28
xor r9d, r9d
mov edx, 0x601
lea r8d, [r9 + 0x64]
call fcn.140074720
call fcn.140020ec0
call fcn.14001b9e0
cmp byte [r14 + 0x6a], 0
je 0x14002bb41
mov rcx, r14
call fcn.14001f7d0
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r12w
mov r8d, 7
lea rdx, str.success
lea rcx, [rbp + 0x10]
call fcn.14000a410
nop
lea r8, [rbp + 0x10]
lea rdx, [0x1403640d0]
lea rcx, [0x140364050]
call fcn.140009ec0
nop
mov r8, qword [rbp + 0x28]
cmp r8, 8
jb 0x14002bb9f
inc r8
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14000efd0
lea rdx, str.success
mov rcx, r14
call fcn.140020800
call fcn.140030780
mov ebx, 1
jmp 0x14002bc9b
lea rcx, [rsp + 0x38]
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, str.Updater:
lea rcx, str.CheckFiles:_Failed__and_Quit_Update
call fcn.140036e10
nop
jmp 0x14002bc03
lea rcx, [rsp + 0x38]
call fcn.140034020
nop
mov r8, qword [rax]
lea rdx, str.Updater:
lea rcx, str.CopyFiles:_Failed
call fcn.140036e10
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14002bc1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea r8, [rbp + 0x51b0]
lea rdx, [rbp + 0x390]
lea rcx, str.copyFiles_error
call fcn.140036e10
mov rcx, qword [r14]
test rcx, rcx
je 0x14002bc98
mov ebx, 1
lea r8, [0x140364548]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
mov r9d, ebx
cmovae r8, qword [0x140364548]
mov edx, 0x603
call fcn.140074720
lea r9, str.retryBtn
mov r8d, ebx
mov edx, 0x604
mov rcx, qword [r14]
call fcn.140074720
lea r9, str.urlBtn
mov r8d, ebx
mov edx, 0x604
mov rcx, qword [r14]
call fcn.140074720
mov ebx, r12d
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x14002bcdd
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bcd7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bdad
call fcn.140240d18
nop
lea rcx, [rbp + 0x150]
call fcn.140003fe0
nop
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0x10
jb 0x14002bd27
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bd22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002bd59
call fcn.140240d18
mov eax, ebx
mov rcx, qword [rbp + 0x9fd0]
xor rcx, rsp
call fcn.140240e30
lea r11, [rsp + 0xa0e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1402480bc
nop
call fcn.140007830
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.140007890
int3
call fcn.140007870
nop
call fcn.140007830
int3
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
int3