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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x488]
sub rsp, 0x588
mov rax, qword [0x14036a3c8]
xor rax, rsp
mov qword [rbp + 0x470], rax
mov rbx, r9
mov qword [rsp + 0x70], rbx
mov r14, r8
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x60], rcx
mov r13, qword [rbp + 0x4f0]
mov qword [rsp + 0x58], r13
xor eax, eax
mov edi, eax
mov dword [rsp + 0x20], eax
mov rcx, qword [rcx]
test rcx, rcx
je 0x14002ec90
xor r9d, r9d
mov edx, 0x601
lea r8d, [rax + 0x5a]
call fcn.140074720
mov rsi, 0xffffffffffffffff
cmp byte [r12 + 0x6b], dil
je 0x14002f4b8
mov rcx, qword [r14 + 0x10]
mov rax, r14
cmp qword [r14 + 0x18], 8
jb 0x14002ecb3
mov rax, qword [r14]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
lea rcx, [rbp + 0x20]
call fcn.14004f860
nop
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rcx, qword [rbp + 0x20]
call fcn.14023e8b4
movzx ecx, al
mov qword [rsp + 0x50], rcx
shr rax, 0x20
mov dword [rsp + 0x40], eax
lea rbx, [0x140364920]
mov qword [rsp + 0x48], rbx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
cmp eax, 0x91
jne 0x14002ef02
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140016380
nop
cmp dword [rsp + 0x30], 0
jne 0x14002ee0a
nop word [rax + rax]
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14002ee3c
lea rbx, [rcx + 0x20]
mov r8d, 6
lea rdx, [rbp - 0x70]
call fcn.140023850
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x60], eax
lea rcx, [0x140364920]
mov qword [rbp - 0x58], rcx
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
jne 0x14002eecc
cmp dword [rbp - 0x70], 3
jne 0x14002eda4
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140025230
lea rbx, [0x140364920]
jmp 0x14002eddd
cmp qword [rbx + 0x18], 8
jb 0x14002edae
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14023e8b4
mov rcx, rax
shr rcx, 0x20
mov dword [rbp + 0x60], ecx
lea rbx, [0x140364920]
mov qword [rbp + 0x68], rbx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x30], xmm0
movzx ecx, al
add qword [rsp + 0x50], rcx
cmp dword [rsp + 0x30], 0
jne 0x14002eecc
lea rcx, [rbp - 0x80]
call fcn.140022a30
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rbx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
je 0x14002ed40
mov rcx, qword [reloc.WS2_32.dll_getsockopt]
mov rax, qword [rsp + 0x38]
cmp qword [rax + 8], rcx
jne 0x14002eecc
mov eax, dword [rsp + 0x30]
sub eax, 2
je 0x14002ee3c
sub eax, 1
je 0x14002ee3c
sub eax, 0x32
je 0x14002ee3c
cmp eax, 0x46
jne 0x14002eecc
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x14002ee72
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14002ee6e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14002ee6e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + ioctlsocket]
mov edi, dword [rsp + 0x20]
xor eax, eax
mov ebx, eax
nop word [rax + rax]
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rcx, qword [rbp + 0x20]
call fcn.14023e8b4
movzx ecx, al
add qword [rsp + 0x50], rcx
shr rax, 0x20
mov dword [rbp - 0x50], eax
lea rcx, [0x140364920]
mov qword [rbp - 0x48], rcx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x30], xmm0
cmp eax, 0x91
je 0x14002eec3
cmp eax, 5
jne 0x14002ef02
inc ebx
cmp ebx, 0xa
jge 0x14002ef02
jmp 0x14002ee80
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x14002ef02
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14002eefe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14002eefe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + ioctlsocket]
mov edi, dword [rsp + 0x20]
cmp dword [rsp + 0x30], 0
je 0x14002f1d2
xor eax, eax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], 7
mov word [rbp + 0x100], ax
lea r8d, [rax + 0x14]
lea rdx, str.remove_all_for_path
lea rcx, [rbp + 0x100]
call fcn.14000a410
nop
mov r12, qword [rbp + 0x30]
lea rdi, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rdi, qword [rbp + 0x20]
cmp r12, 8
jae 0x14002ef82
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb8], 7
mov ebx, 7
mov r13, qword [rbp + 0xa0]
jmp 0x14002efce
mov rbx, r12
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0xa0]
call fcn.14000a220
mov r13, rax
mov qword [rbp + 0xa0], rax
lea r8, [r12*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1402430d0
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xb0], r12
mov edi, 8
lea rdx, [rbp + 0xa0]
cmp rbx, 8
cmovae rdx, r13
mov r8, r12
lea rcx, [rbp + 0x100]
call fcn.14000a290
lea r8d, [rdi + 3]
lea rdx, [0x140286698]
mov rcx, rax
call fcn.14000a290
mov rbx, rax
mov edx, dword [rsp + 0x30]
lea rcx, [rbp + 0x1a0]
call fcn.14002e760
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14002f02d
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14000a290
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.._just_ignore
mov rcx, rax
call fcn.14000a290
mov rbx, rax
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 7
mov word [rbp], ax
lea r8d, [rax + 0x13]
lea rdx, str.Updater::unzipToDir
lea rcx, [rbp]
call fcn.14000a410
nop
mov rdx, rbx
lea rcx, [rbp]
call fcn.1400347a0
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x14002f0c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f0c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030179
call fcn.140240d18
xor ebx, ebx
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 7
mov word [rbp], bx
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 8
jb 0x14002f120
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f11b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003017f
call fcn.140240d18
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], 7
mov word [rbp + 0x1a0], bx
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x14002f180
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f17a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030185
call fcn.140240d18
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 8
jb 0x14002f1c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f1c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003018b
call fcn.140240d18
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
jmp 0x14002f1d4
xor ebx, ebx
mov dword [rsp + 0x30], ebx
lea rax, [0x140364920]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x20]
call fcn.140025ed0
cmp dword [rsp + 0x30], 0
je 0x14002f4ad
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], bx
mov r8d, 0x1c
lea rdx, str.create_directories_for_path
lea rcx, [rbp + 0x40]
call fcn.14000a410
nop
mov rdi, qword [rbp + 0x30]
lea rsi, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rsi, qword [rbp + 0x20]
cmp rdi, 8
jae 0x14002f25a
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x78], 7
mov ebx, 7
mov r14, qword [rbp + 0x60]
jmp 0x14002f29d
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x60]
call fcn.14000a220
mov r14, rax
mov qword [rbp + 0x60], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1402430d0
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x70], rdi
lea rdx, [rbp + 0x60]
cmp rbx, 8
cmovae rdx, r14
mov r8, rdi
lea rcx, [rbp + 0x40]
call fcn.14000a290
mov r8d, listen
lea rdx, [0x140286698]
mov rcx, rax
call fcn.14000a290
mov rbx, rax
mov edx, dword [rsp + 0x30]
lea rcx, [rbp + 0x80]
call fcn.14002e760
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14002f2f0
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14000a290
mov rbx, rax
xor edi, edi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], di
lea r8d, [rdi + 0x13]
lea rdx, str.Updater::unzipToDir
lea rcx, [rbp - 0x40]
call fcn.14000a410
nop
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.1400347a0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14002f376
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f371
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030191
call fcn.140240d18
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], di
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x14002f3cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f3c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030197
call fcn.140240d18
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], di
mov rdx, qword [rbp + 0x78]
cmp rdx, 8
jb 0x14002f426
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f420
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003019d
call fcn.140240d18
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x14002f466
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f461
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301a3
call fcn.140240d18
mov rax, qword [rsp + 0x70]
mov dword [rax], 5
lea rdx, [0x140364488]
cmp r13, rdx
je 0x14002f49d
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae rdx, qword [0x140364488]
mov r8, qword [0x140364498]
mov rcx, r13
call fcn.14000a410
nop
lea rcx, [rbp + 0x20]
call fcn.14000a1b0
xor al, al
jmp 0x140030145
lea rcx, [rbp + 0x20]
call fcn.14000a1b0
jmp 0x14002f517
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002f4c5
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14002f50b
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002f4dc
mov rcx, qword [r14]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14002f515
lea r8, [0x140281a50]
mov rdx, qword [r12 + 0x78]
lea rcx, str.createDirectory_error
call fcn.140036e10
mov dword [rbx], 5
jmp 0x14002fde3
mov rcx, qword [r12 + 0x78]
call fcn.14001a690
xor ebx, ebx
mov rcx, qword [r12]
test rcx, rcx
je 0x14002f559
xor r9d, r9d
mov edx, 0x601
lea r8d, [r9 + 0x5e]
call fcn.140074720
lea r8, [0x1403643e8]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r8, qword [0x1403643e8]
xor r9d, r9d
mov edx, 0x603
mov rcx, qword [r12]
call fcn.140074720
cmp byte [r12 + 0x6b], 0
je 0x14002fb14
mov rcx, qword [r15 + 0x10]
mov rax, r15
cmp qword [r15 + 0x18], 8
jb 0x14002f576
mov rax, qword [r15]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rcx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
lea rcx, [rbp + 0x180]
call fcn.14004f860
nop
mov rcx, qword [r14 + 0x10]
mov rax, r14
cmp qword [r14 + 0x18], 8
jb 0x14002f5a9
mov rax, qword [r14]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rcx
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
lea rcx, [rbp + 0x160]
call fcn.14004f860
nop
mov dword [rsp + 0x40], ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rbx
mov rsi, qword [rbp + 0x190]
lea r12, [rbp + 0x180]
cmp qword [rbp + 0x198], 8
cmovae r12, qword [rbp + 0x180]
cmp rsi, 8
jae 0x14002f612
movups xmm0, xmmword [r12]
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x28], 7
jmp 0x14002f654
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x40]
call fcn.14000a220
mov qword [rbp - 0x40], rax
lea r8, [rsi*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.1402430d0
mov qword [rbp - 0x28], rbx
xor ebx, ebx
mov qword [rbp - 0x30], rsi
or edi, 0x20
or edi, 1
mov dword [rsp + 0x20], edi
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x200]
call fcn.140056330
mov r13, rax
or edi, 2
mov dword [rsp + 0x20], edi
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
mov rsi, qword [rbp + 0x170]
lea r12, [rbp + 0x160]
cmp qword [rbp + 0x178], 8
cmovae r12, qword [rbp + 0x160]
cmp rsi, 8
jae 0x14002f6bf
movups xmm0, xmmword [r12]
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 8], 7
jmp 0x14002f6ff
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x20]
call fcn.14000a220
mov qword [rbp - 0x20], rax
lea r8, [rsi*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.1402430d0
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], rsi
or edi, 0x40
or edi, 4
mov dword [rsp + 0x20], edi
lea rdx, [rbp - 0x20]
mov rcx, r13
call fcn.1400593f0
test al, al
je 0x14002f743
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002f72a
mov rcx, qword [r14]
lea rdx, [rsp + 0x40]
call fcn.140025b80
test eax, eax
je 0x14002f743
cmp dword [rsp + 0x40], 0
je 0x14002f743
mov bl, 1
jmp 0x14002f745
xor bl, bl
test dil, 4
je 0x14002f7a2
and edi, 0xfffffffb
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14002f78e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f789
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301a9
call fcn.140240d18
xor esi, esi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], 7
mov word [rbp - 0x20], si
jmp 0x14002f7a4
xor esi, esi
test dil, 2
je 0x14002f7ba
and edi, 0xfffffffd
lea rcx, [rbp + 0x200]
call fcn.1400578b0
nop
test dil, 1
je 0x14002f800
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14002f800
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f7fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301af
call fcn.140240d18
test bl, bl
je 0x14002fabb
mov qword [rbp + 0x120], rsi
mov qword [rbp + 0x130], rsi
mov qword [rbp + 0x138], 7
mov word [rbp + 0x120], si
mov r8d, 0x1e
lea rdx, str.SevenZipArchiveReader_extract
lea rcx, [rbp + 0x120]
call fcn.14000a410
nop
mov r8d, dword [rsp + 0x40]
lea r9, [rbp + 0x252]
test r8d, r8d
jns 0x14002f8a0
neg r8d
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x14002f860
add r9, 0xfffffffffffffffe
mov eax, Ordinal_46
mov word [r9], ax
jmp 0x14002f8d0
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x14002f8a0
mov qword [rbp + 0xe0], rsi
mov r8, rsi
mov qword [rbp + 0xf0], rsi
mov eax, 7
mov qword [rbp + 0xf8], rax
mov word [rbp + 0xe0], si
lea rcx, [rbp + 0x252]
cmp r9, rcx
je 0x14002f92a
lea r8, [rbp + 0x252]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp + 0xe0]
call fcn.14000a410
mov rax, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
lea rdx, [rbp + 0xe0]
cmp rax, 8
cmovae rdx, qword [rbp + 0xe0]
lea rcx, [rbp + 0x120]
call fcn.14000a290
mov r8d, 6
lea rdx, str._files
mov rcx, rax
call fcn.14000a290
mov rbx, rax
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], 7
mov word [rbp + 0xc0], si
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Updater::unzipToDir
lea rcx, [rbp + 0xc0]
call fcn.14000a410
nop
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.1400347a0
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 8
jb 0x14002f9f1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f9ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301b5
call fcn.140240d18
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], 7
mov word [rbp + 0xc0], si
mov rdx, qword [rbp + 0xf8]
cmp rdx, 8
jb 0x14002fa51
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fa4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301bb
call fcn.140240d18
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x14002fa98
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fa92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301c1
call fcn.140240d18
nop
lea rcx, [rbp + 0x160]
call fcn.14000a1b0
nop
lea rcx, [rbp + 0x180]
call fcn.14000a1b0
mov r12, qword [rsp + 0x60]
jmp 0x14002fe38
mov rax, qword [rsp + 0x70]
mov dword [rax], 6
lea rdx, [0x140364488]
mov rcx, qword [rsp + 0x58]
cmp rcx, rdx
je 0x14002faf4
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae rdx, qword [0x140364488]
mov r8, qword [0x140364498]
call fcn.14000a410
nop
lea rcx, [rbp + 0x160]
call fcn.14000a1b0
nop
lea rcx, [rbp + 0x180]
call fcn.14000a1b0
xor al, al
jmp 0x140030145
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov rbx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fb2b
mov rbx, qword [r14]
call fcn.140004c80
mov rcx, rax
test rax, rax
je 0x1400301c7
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x40], rax
test rbx, rbx
je 0x14002fb7c
cmp rbx, 0x10000
jae 0x14002fb68
movzx edx, bx
lea rcx, [rsp + 0x40]
call fcn.140005650
jmp 0x14002fb8f
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14002fb70
jmp 0x14002fb7e
xor eax, eax
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14000ae10
nop
lea rax, [rsp + 0x20]
mov qword [rsp + 0x50], rax
mov rbx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fba6
mov rbx, qword [r15]
call fcn.140004c80
mov rcx, rax
test rax, rax
je 0x1400301d2
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x14002fbef
cmp rbx, 0x10000
jae 0x14002fbe3
movzx edx, bx
lea rcx, [rsp + 0x20]
call fcn.140005650
jmp 0x14002fc04
inc rsi
cmp word [rbx + rsi*2], 0
jne 0x14002fbe3
jmp 0x14002fbf3
xor eax, eax
mov esi, eax
mov r8d, esi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000ae10
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140036bc0
test al, al
jne 0x14002fe36
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fc28
mov r8, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fc35
mov rdx, qword [r15]
lea rcx, str.unzip_file_steps1_failed
call fcn.140036e10
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fc4e
mov rcx, qword [r15]
test rcx, rcx
jne 0x14002fc5e
xor eax, eax
mov edi, eax
mov qword [rsp + 0x58], rax
jmp 0x14002fc77
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400301dd
xor eax, eax
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fc84
mov rcx, qword [r14]
test rcx, rcx
jne 0x14002fe15
mov rbx, rax
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rdi
call fcn.140036870
movzx esi, al
test al, al
je 0x14002fd2c
xor eax, eax
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x40]
mov rcx, qword [r12 + 0x78]
call fcn.140025b80
mov r12d, esi
mov esi, dword [rsp + 0x40]
test esi, esi
mov eax, 0
cmove r12d, eax
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x260]
call fcn.140243780
mov r9d, esi
lea r8, str.Util::Unzip2Folder_had__d_files
mov edx, 0x103
lea rcx, [rbp + 0x260]
call fcn.1400150c0
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fd0e
mov r8, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fd1b
mov rdx, qword [r15]
lea rcx, [rbp + 0x260]
call fcn.140036e10
test r12b, r12b
jne 0x14002fd9a
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fd39
mov r8, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fd46
mov rdx, qword [r15]
lea rcx, str.unzip_file_steps2_failed
call fcn.140036e10
lea rax, [rbp - 0x20]
mov qword [rsp + 0x50], rax
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002fd68
mov rdx, qword [r14]
lea rcx, [rbp - 0x20]
call fcn.14000c3b0
mov rsi, rax
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fd81
mov rdx, qword [r15]
lea rcx, [rbp - 0x70]
call fcn.14000c3b0
nop
mov rdx, rsi
mov rcx, rax
call fcn.140036bc0
movzx r12d, al
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test r12b, r12b
jne 0x14002fe31
cmp qword [r14 + 0x18], 8
jb 0x14002fdbc
mov r14, qword [r14]
cmp qword [r15 + 0x18], 8
jb 0x14002fdc6
mov r15, qword [r15]
mov r8, r14
mov rdx, r15
lea rcx, str.unzip_file_error
call fcn.140036e10
mov rax, qword [rsp + 0x70]
mov dword [rax], 6
lea rdx, [0x140364488]
cmp r13, rdx
je 0x14002fe0e
cmp qword [reloc.WS2_32.dll_getsockopt], 8
mov r8, qword [0x140364498]
cmovae rdx, qword [0x140364488]
mov rcx, r13
call fcn.14000a410
xor al, al
jmp 0x140030145
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14003016e
jmp 0x14002fc95
mov r12, qword [rsp + 0x60]
xor esi, esi
cmp qword [r14 + 0x18], 8
jb 0x14002fe42
mov r14, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14002fe4f
mov rdx, qword [r15]
mov r8, r14
lea rcx, str.unzip_file_succeed
call fcn.140036e10
cmp byte [r12 + 0x6b], 0
je 0x140030117
mov rax, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 8
jb 0x14002fe78
mov r15, qword [r15]
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
lea rcx, [rbp + 0x1e0]
call fcn.14004f860
nop
lea rcx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 8
cmovae rcx, qword [rbp + 0x1e0]
call fcn.14023e8b4
mov rbx, rax
shr rbx, 0x20
test ebx, ebx
je 0x140030109
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], si
mov r8d, 7
lea rdx, str.remove
lea rcx, [rbp + 0x140]
call fcn.14000a410
nop
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x80]
call fcn.140011f90
nop
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rdx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x90]
lea rcx, [rbp + 0x140]
call fcn.14000a290
mov r8d, listen
lea rdx, [0x140286698]
mov rcx, rax
call fcn.14000a290
mov rdi, rax
mov edx, ebx
lea rcx, [rbp + 0x1c0]
call fcn.14002e760
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14002ff75
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14000a290
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.._just_ignore
mov rcx, rax
call fcn.14000a290
mov rbx, rax
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], si
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Updater::unzipToDir
lea rcx, [rbp + 0x40]
call fcn.14000a410
nop
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.1400347a0
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x140030010
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003000b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301e8
call fcn.140240d18
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], si
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 8
jb 0x140030066
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030061
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301ee
call fcn.140240d18
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], si
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x1400300c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400300c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400301f4
call fcn.140240d18
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x140030109
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030103
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030168
call fcn.140240d18
nop
lea rcx, [rbp + 0x1e0]
call fcn.14000a1b0
jmp 0x140030129
cmp qword [r15 + 0x18], 8
jb 0x140030121
mov r15, qword [r15]
mov rcx, r15
call fcn.140254f54
mov rcx, qword [r12]
test rcx, rcx
je 0x140030143
xor r9d, r9d
mov edx, 0x601
lea r8d, [r9 + 0x64]
call fcn.140074720
mov al, 1
mov rcx, qword [rbp + 0x470]
xor rcx, rsp
call fcn.140240e30
add rsp, 0x588
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1402480bc
nop
mov ecx, 0x8007000e
call fcn.140004b00
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
mov ecx, 0x80004005
call fcn.140004b00
nop
mov ecx, 0x80004005
call fcn.140004b00
nop
mov ecx, 0x8007000e
call fcn.140004b00
nop
call fcn.1402480bc
nop
call fcn.1402480bc
nop
call fcn.1402480bc
int3