Function at 0x140004780
Capabilities:
Check mutex on windows
Move file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1790]
mov eax, 0x1890
call fcn.140049090
sub rsp, rax
mov rax, qword [0x14009c020]
xor rax, rsp
mov qword [rbp + 0x1788], rax
mov rbx, rdx
mov edi, ecx
mov r15d, 1
mov eax, r15d
xchg dword [0x14009fb80], eax
test eax, eax
je 0x1400047ec
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, r15d
xchg dword [0x14009fb80], eax
test eax, eax
jne 0x1400047d6
mov eax, dword [0x14009f8d4]
xor esi, esi
test eax, eax
jne 0x140004877
mov eax, dword [0x14009f8d0]
test eax, eax
jne 0x140004877
mov rax, qword [0x14009f8c8]
test rax, rax
je 0x14000482e
mov rax, qword [0x14009f8c8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14000482e
mov rcx, qword [rsp + 0x38]
call fcn.1400073a0
mov ecx, 0x90
call fcn.140048438
mov qword [rsp + 0x38], rax
mov rcx, rax
call fcn.140004410
nop
mov qword [0x14009f8c8], rax
mov eax, dword [0x14009f8c4]
test eax, eax
jne 0x140004870
lea rcx, [fcn.140002310]
call fcn.140048978
mov ecx, esi
test eax, eax
sete cl
mov dword [0x14009f8c4], ecx
mov dword [0x14009f8c0], r15d
mov eax, dword [0x14009f8d0]
inc eax
mov dword [0x14009f8d0], eax
mov eax, esi
xchg dword [0x14009fb80], eax
mov rcx, qword [0x14009f8c8]
lea rax, [rbp + 0xe20]
mov qword [rbp + 0xe10], rax
lea r12, [0x14009cc90]
mov qword [rbp + 0xe18], r12
mov word [rbp + 0xe38], 0
mov dword [rbp + 0xe40], 0xabcd
mov dword [rbp + 0xe4c], 0xabcd
lea rax, [rbp + 0xe18]
mov qword [rbp + 0xe44], rax
mov dword [rbp + 0x105a], 0xabcd
lea rax, [rbp + 0xe50]
mov qword [rbp + 0xe00], rax
mov qword [rbp + 0xe28], 0x104
mov qword [rbp + 0xe30], 0x104
mov qword [rbp + 0xe20], rsi
mov word [rbp + 0xe50], si
lea rax, [rbp + 0xe50]
mov qword [rbp + 0xe08], rax
xor edx, edx
lea rcx, [rbp + 0xe00]
call fcn.140007410
nop
lea rcx, [rbp + 0xe00]
call fcn.140006480
mov rdx, rbx
mov ecx, edi
call fcn.140003420
test al, al
jne 0x140004956
mov ebx, r15d
jmp 0x1400049eb
movzx eax, byte [0x14009fb0a]
mov rcx, qword [0x14009fb10]
test rcx, rcx
je 0x140004972
test al, al
jne 0x140004972
mov r8b, 1
jmp 0x140004975
xor r8b, r8b
movzx edx, byte [0x14009fb0c]
test rcx, rcx
jne 0x140004a3c
test dl, dl
je 0x140004a3c
test al, al
jne 0x140004a3c
mov dil, 1
xor al, al
mov byte [0x14009fb0a], al
test r8b, r8b
je 0x140004a5f
test dil, dil
jne 0x1400049b6
test al, al
je 0x140004a76
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, str._Usage:__s__locations__locations_xml_file____scripts___T_scr_sec_____trace____nowslib__n
call fcn.14000bc30
mov rdx, rbx
lea rcx, str._Usage:__s__preinstall__locations__locations_xml_file____trace____nowslib__n
call fcn.14000bc30
mov rdx, rbx
lea rcx, str._Usage:__s__scripts___T_scr_sec____trace__n
call fcn.14000bc30
mov ebx, 2
lea rcx, [rbp + 0xe00]
call fcn.140006d00
nop
mov eax, r15d
xchg dword [0x14009fb80], eax
test eax, eax
je 0x140004a1b
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, r15d
xchg dword [0x14009fb80], eax
test eax, eax
jne 0x140004a05
mov eax, dword [0x14009f8d0]
test eax, eax
jle 0x140005e3d
mov eax, dword [0x14009f8d0]
dec eax
mov dword [0x14009f8d0], eax
jmp 0x140005e4d
xor dil, dil
test al, al
je 0x140004998
test rcx, rcx
je 0x140004998
test dl, dl
jne 0x140004998
mov al, 1
jmp 0x14000499a
test dil, dil
je 0x140004a6e
test al, al
jne 0x1400049b6
jmp 0x140004a76
test al, al
je 0x1400049b6
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
call fcn.140003690
cmp dword [0x14009cc34], 0
jl 0x140004aa8
call fcn.140002cf0
mov ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, str.Global67B779A4_46C7_494a_905E_5C8E4EA6D15A
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov r14, rax
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x50], 0
test r14, r14
je 0x140004aec
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete byte [rsp + 0x50]
jmp 0x140004af1
mov eax, 0xffffffff
mov r9d, eax
mov r8d, ebx
mov rdx, r14
lea rcx, str.Mutex_instance:__p__lastError:__d__Wait_result:__d_n
call fcn.14000b8f0
movzx eax, byte [0x14009fb0e]
mov byte [0x14009fb0f], al
lea rcx, [rbp - 0x50]
call fcn.14000ca60
nop
movzx eax, byte [0x14009fb0d]
mov byte [rbp + 0x448], al
lea r13, [0x14008d480]
cmp byte [0x14009fb0c], 0
je 0x140004c9b
lea rax, [rbp + 0x700]
mov qword [rbp + 0x6f0], rax
mov qword [rbp + 0x6f8], r12
mov word [rbp + 0x718], 0
mov dword [rbp + 0x720], 0xabcd
mov dword [rbp + 0x72c], 0xabcd
lea rax, [rbp + 0x6f8]
mov qword [rbp + 0x724], rax
mov dword [rbp + 0x93a], 0xabcd
lea rax, [rbp + 0x730]
mov qword [rbp + 0x6e0], rax
mov qword [rbp + 0x708], 0x104
mov qword [rbp + 0x710], 0x104
mov qword [rbp + 0x700], rsi
mov word [rbp + 0x730], si
lea rax, [rbp + 0x730]
mov qword [rbp + 0x6e8], rax
xor edx, edx
lea rcx, [rbp + 0x6e0]
call fcn.140007410
nop
lea rcx, [rbp + 0x6e0]
call fcn.140006480
lea rbx, str.patches.xml
mov rdx, qword [rbp + 0x6e0]
test rdx, rdx
je 0x140004c50
mov rcx, qword [rdx - 0xc]
test rcx, rcx
je 0x140004c50
mov r8, qword [rcx + 8]
test r8, r8
je 0x140004c50
lea eax, [r8 - 1]
movsxd r9, eax
cmp r9, qword [rcx + 0x10]
ja 0x140005ed2
cmp word [rdx + r9*2], 0x5c
je 0x140004c50
lea eax, [r8 - 1]
movsxd r8, eax
cmp r8, qword [rcx + 0x10]
ja 0x140005ed2
cmp word [rdx + r8*2], 0x2f
je 0x140004c50
mov edx, 0x5c
lea rcx, [rbp + 0x6e0]
call fcn.140006fb0
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x5c
je 0x140004c5f
cmp ax, 0x2f
jne 0x140004c65
add rbx, 2
jmp 0x140004c50
mov rdx, rbx
lea rcx, [rbp + 0x6e0]
call fcn.140007130
mov rdx, r13
mov rax, qword [rbp + 0x6e0]
test rax, rax
cmovne rdx, rax
lea rcx, [rbp - 0x50]
call fcn.14000ea30
nop
lea rcx, [rbp + 0x6e0]
call fcn.140006d00
test dil, dil
je 0x140004d3f
lea rdx, str.postrestart
lea rcx, str.Scripts__s_begin_n
call fcn.14000bc30
mov ebx, dword [0x14009cc38]
mov r9b, 1
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140013530
mov edi, eax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
mov r9b, 1
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140011c70
add edi, eax
mov r9b, 1
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140012e40
lea r8d, [rax + rdi]
lea rdx, str.postrestart
lea rcx, str.Scripts__s_end__d_n
call fcn.14000bc30
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.Installation_end__d__d__d_n
call fcn.14000bc30
mov ebx, esi
jmp 0x140005d5d
lea rcx, [rbp - 0x50]
call fcn.14000d030
test eax, eax
je 0x140004d62
lea rcx, str.general_error_3__Parsing_locations_XML__n
call fcn.14000b8f0
mov ebx, 3
jmp 0x140005d5d
lea rax, [rbp + 0xbc0]
mov qword [rbp + 0xbb0], rax
mov qword [rbp + 0xbb8], r12
mov word [rbp + 0xbd8], 0
mov dword [rbp + 0xbe0], 0xabcd
mov dword [rbp + 0xbec], 0xabcd
lea rax, [rbp + 0xbb8]
mov qword [rbp + 0xbe4], rax
mov dword [rbp + 0xdfa], 0xabcd
lea rax, [rbp + 0xbf0]
mov qword [rbp + 0xba0], rax
mov qword [rbp + 0xbc8], 0x104
mov qword [rbp + 0xbd0], 0x104
mov qword [rbp + 0xbc0], rsi
mov word [rbp + 0xbf0], si
lea rax, [rbp + 0xbf0]
mov qword [rbp + 0xba8], rax
xor edx, edx
lea rcx, [rbp + 0xba0]
call fcn.140007410
nop
lea rcx, [rbp + 0xba0]
call fcn.140006480
mov rdx, r13
mov rax, qword [rbp + 0xba0]
test rax, rax
cmovne rdx, rax
lea rax, [rbp + 0x4a0]
mov qword [rbp + 0x490], rax
mov qword [rbp + 0x498], r12
mov word [rbp + 0x4b8], 0
mov dword [rbp + 0x4c0], 0xabcd
mov dword [rbp + 0x4cc], 0xabcd
lea rax, [rbp + 0x498]
mov qword [rbp + 0x4c4], rax
mov dword [rbp + 0x6da], 0xabcd
lea rax, [rbp + 0x4d0]
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x4a8], 0x104
mov qword [rbp + 0x4b0], 0x104
mov qword [rbp + 0x4a0], rsi
mov word [rbp + 0x4d0], si
lea rcx, [rbp + 0x4d0]
mov qword [rbp + 0x488], rcx
test rdx, rdx
je 0x140004f6b
lea rcx, [rbp + 0x1520]
call fcn.140006700
nop
lea rdx, [rbp + 0x1520]
lea rcx, [rbp + 0x480]
call fcn.140006f00
nop
lea rcx, [rbp + 0x1520]
call fcn.140006d00
lea rbx, str.BDUpdateV2.xml
mov r8, qword [rbp + 0x480]
test r8, r8
je 0x140004f40
mov rcx, qword [r8 - 0xc]
test rcx, rcx
je 0x140004f40
mov r9, qword [rcx + 8]
test r9, r9
je 0x140004f40
lea eax, [r9 - 1]
movsxd r10, eax
cmp r10, qword [rcx + 0x10]
ja 0x140005edc
cmp word [r8 + r10*2], 0x5c
je 0x140004f40
lea eax, [r9 - 1]
movsxd r9, eax
cmp r9, qword [rcx + 0x10]
ja 0x140005edc
cmp word [r8 + r9*2], 0x2f
je 0x140004f40
mov edx, 0x5c
lea rcx, [rbp + 0x480]
call fcn.140006fb0
movzx eax, word [rbx]
cmp ax, 0x5c
je 0x140004f4f
cmp ax, 0x2f
jne 0x140004f55
add rbx, 2
jmp 0x140004f40
mov rdx, rbx
lea rcx, [rbp + 0x480]
call fcn.140007130
mov rax, qword [rbp + 0x480]
mov rdx, r13
test rax, rax
cmovne rdx, rax
movzx r8d, byte [0x14009fb0a]
lea rcx, [rbp - 0x50]
call fcn.14000da90
mov r12d, eax
cmp eax, 0xffffffff
jne 0x140004fa4
lea rcx, str.general_error_4__Parsing_installation_XML__n
call fcn.14000b8f0
lea ebx, [r12 + 5]
jmp 0x140005d43
lea rcx, str.Installation_begin_n
call fcn.14000bc30
lea rdi, vtable.ExportedObject_class_IPsStateManagerEx_.0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rsi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
lea rax, [rbp + 0x960]
mov qword [rbp + 0x950], rax
lea rax, [0x14009cc90]
mov qword [rbp + 0x958], rax
mov word [rbp + 0x978], 0
mov dword [rbp + 0x980], 0xabcd
mov dword [rbp + 0x98c], 0xabcd
lea rax, [rbp + 0x958]
mov qword [rbp + 0x984], rax
mov dword [rbp + 0xb9a], 0xabcd
lea rax, [rbp + 0x990]
mov qword [rbp + 0x940], rax
mov qword [rbp + 0x968], 0x104
mov qword [rbp + 0x970], 0x104
mov qword [rbp + 0x960], rsi
mov word [rbp + 0x990], si
lea rax, [rbp + 0x990]
mov qword [rbp + 0x948], rax
xor edx, edx
lea rcx, [rbp + 0x940]
call fcn.140007410
nop
lea rcx, [rbp + 0x940]
call fcn.140006480
lea rdx, str.psstatemgr.dll
lea rcx, [rbp + 0x940]
call fcn.140007130
mov rdx, r13
mov rax, qword [rbp + 0x940]
test rax, rax
cmovne rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140006040
test eax, eax
je 0x140005333
lea rcx, [rbp + 0x940]
call fcn.140006d00
nop
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x60]
call fcn.1400068a0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140005124
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000511f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ee6
call fcn.140048430
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
xor cl, cl
mov byte [rsp + 0x30], cl
cmp byte [0x14009fb0c], cl
je 0x14000525d
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8d, dword [0x14009cc38]
lea rdx, str.preinstall
lea rcx, [rbp - 0x50]
call fcn.140011c70
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8d, dword [0x14009cc38]
lea rdx, str.postinstall
lea rcx, [rbp - 0x50]
call fcn.140011c70
lea rcx, str.Processes_stop_begin_n
call fcn.14000bc30
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.14000fb50
mov edx, eax
lea rcx, str.Processes_stop_end__d_n
call fcn.14000bc30
lea rdx, str.preinstall
lea rcx, str.Scripts__s_begin_n
call fcn.14000bc30
mov ebx, dword [0x14009cc38]
xor r9d, r9d
mov r8d, ebx
lea rdx, str.preinstall
lea rcx, [rbp - 0x50]
call fcn.140013530
mov edi, eax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9b, 1
mov r8d, ebx
lea rdx, str.preinstall
lea rcx, [rbp - 0x50]
call fcn.140011c70
add edi, eax
xor r9d, r9d
mov r8d, ebx
lea rdx, str.preinstall
lea rcx, [rbp - 0x50]
call fcn.140012e40
lea r8d, [rax + rdi]
lea rdx, str.preinstall
lea rcx, str.Scripts__s_end__d_n
call fcn.14000bc30
lea rcx, str.Processes_check_stop_begin_n
call fcn.14000bc30
lea rcx, [rbp - 0x50]
call fcn.1400106d0
mov edx, eax
lea rcx, str.Processes_check_stop_end__d_n
call fcn.14000bc30
movzx ecx, byte [rsp + 0x30]
test r12d, r12d
setg byte [rsp + 0x31]
test r12d, r12d
sete r14b
mov r15d, esi
mov byte [rsp + 0x32], r15b
movzx eax, byte [0x14009fb0b]
cmp byte [rbp + 0x468], sil
mov edx, 1
cmovne eax, edx
mov byte [0x14009fb0b], al
test r12d, r12d
jle 0x140005a2e
test al, al
jne 0x140005a2e
test cl, cl
jne 0x140005a2e
xor dil, dil
mov byte [rsp + 0x33], dl
lea rcx, [rbp - 0x50]
call fcn.14000ce00
test al, al
je 0x1400058d9
cmp byte [0x14009fb0a], dil
je 0x1400053cb
lea rcx, str.Renaming_used_files_begin_n
call fcn.14000bc30
lea rdx, [rsp + 0x33]
lea rcx, [rbp - 0x50]
call fcn.140013fc0
mov edx, eax
lea rcx, str.Renaming_used_files_end__d_n
call fcn.14000bc30
movzx ebx, byte [rsp + 0x33]
lea rax, str.SUCCESS
lea rdx, str.FAIL
test bl, bl
cmovne rdx, rax
lea rcx, str.Renaming__s_n
call fcn.14000b8f0
mov dil, 1
test bl, bl
jne 0x1400053cb
xor r14b, r14b
mov byte [rsp + 0x31], dil
jmp 0x1400058ed
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
movzx ebx, al
lea rcx, [rbp + 0x940]
call fcn.140006d00
nop
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x60]
call fcn.1400068a0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x14000539d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005398
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ecc
call fcn.140048430
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
test bl, bl
jne 0x140005134
mov edx, 0xfffff81b
lea rcx, str.Installation_end__d_0_0_n
call fcn.14000bc30
jmp 0x140005d41
mov rbx, r13
mov rax, qword [rbp + 0xba0]
test rax, rax
cmovne rbx, rax
lea rdx, str.Product
lea rcx, str._s_prepare_settings_n
call fcn.14000bc30
mov dword [rsp + 0x40], esi
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140005410
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
mov edx, 0x1869f
call qword [rax + 8]
mov rcx, qword [rbp - 0x50]
mov eax, esi
cmp byte [rbp + 0x448], sil
setne al
mov dword [rsp + 0x40], eax
test rcx, rcx
je 0x140005449
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
xor edx, edx
call qword [rax + 8]
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140005449
mov rax, qword [rcx]
mov r8, rbx
mov edx, 7
call qword [rax + 8]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140014530
test eax, eax
jne 0x1400058cb
lea rdx, str.Product
lea rcx, str._s_perform_update_n
call fcn.14000bc30
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400054c4
mov rax, qword [rcx]
mov edx, 8
call qword [rax + 0x10]
mov r15d, eax
mov ecx, eax
mov edx, eax
test eax, eax
je 0x140005496
cmp eax, 0xfffff826
jne 0x1400054ce
cmp edx, 0xfffff826
sete byte [rsp + 0x32]
cmp edx, 0xfffff825
sete byte [rsp + 0x31]
mov r14b, 1
test edx, edx
jne 0x1400054e1
lea rcx, str.wslib_install_success_n
call fcn.14000bc30
jmp 0x1400058ed
mov ecx, 0xffffffff
mov edx, ecx
mov r15d, ecx
xor r14b, r14b
mov byte [rsp + 0x32], r14b
cmp ecx, 0xfffff825
sete byte [rsp + 0x31]
cmp edx, 0xfffffbb3
jg 0x140005608
je 0x1400055f0
lea eax, [rdx + 0x7df]
cmp eax, 0xf
ja case.0x140005643.1077
cdqe
lea r8, [0x140000000]
mov eax, dword [r8 + rax*4 + 0x5eec]
add rax, r8
jmp rax
lea r8, str.could_not_parse_versions.dat_file
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.could_not_verify_versions.dat_file_with_versions.sig
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.MD5_failed
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.No_files_were_marked_to_be_installed
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Install_has_failed__maybe_because_files_could_not_be_overwritten_
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Install_has_skipped_the_file__returned_from_WSLibUpdateV1CallbackFn_
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.File_must_not_be_downloaded_and_updated
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.could_not_verify_versions.dat_file_signature_from_versions.id
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.No_location_provided_or_location_name_does_not_match_with_the_one_in_the_.xml_file
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.The_POST_File_set_exceeds_the_internal_limit_agreed_by_WSLib.
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
cmp edx, 0xffffff9c
jg 0x140005882
je 0x14000586d
lea eax, [rdx + 0x44c]
cmp eax, 0x64
ja case.0x140005643.1077
cdqe
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x5f8c]
mov ecx, dword [r8 + rax*4 + 0x5f2c]
add rcx, r8
jmp rcx
lea r8, str.unknown_option
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.invalid_option_value
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.no_OPT_Server___has_been_passed_or_could_not_resolve_server
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.invalid_OPT_Proxy_or_could_not_resolve_proxy
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.could_not_connect_to_proxy_or_server
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.could_not_authenticate_to_proxy_or_server
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.no_OPT_Url_has_been_set_or_value_is_invalid
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.no_OPT_WriteFnCtx_has_been_set
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.HTTP_Response_code___400
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.some_write_error__could_not_write_to_local_file_or_WriteFn_returned_error_
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.some_read_error
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.IO_has_timeouted
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.receive_command_failed
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.send_command_failed
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.some_callback_function_HeaderFn__WriteFn_or_ReadFn_returned_error
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Http_403_Status_Code___Forbidden
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Http_404_Status_Code___Not_Found
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Http_202_Status_Code___Accepted
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Returned_after_a_stop_call_on_that_service
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.The_server_response_is_not_valid
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Retry_downloading_file_for_updateV1_service
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Not_checking_sig_in_versions_id___usefull_for_mirroring_when_versions.id_exists_but_it_is_empty
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.Too_many_POST_Files_set
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.unknown_error
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
cmp edx, 0xfffffffe
je 0x1400058b6
cmp edx, 0xffffffff
je 0x1400058a1
lea r8, str.Undefined_error
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.wrong_parameters_passed_to_the_function
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea r8, str.some_resource_allocation_problem
lea rcx, str.wslib_install_error__d___s__n
call fcn.14000bc30
jmp 0x1400058ed
lea rcx, str.wslib_settings_error_n
call fcn.14000bc30
jmp 0x1400058ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.wslib_load_error__d_n
call fcn.14000bc30
cmp qword [rbp - 0x48], 0
je 0x14000593e
mov rdx, qword [rbp - 0x50]
lea rcx, str.Delete_WSLib_Instance__p
call fcn.14000b8f0
cmp qword [rbp - 0x50], 0
je 0x140005930
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14000592c
lea rdx, str.WSLibDelete
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000592c
mov rcx, qword [rbp - 0x50]
call rax
mov qword [rbp - 0x50], rsi
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbp - 0x48], rsi
test dil, dil
je 0x140005a2e
test r14b, r14b
jne 0x140005a2e
lea rcx, str.Rollback_used_files_begin_n
call fcn.14000bc30
lea rcx, str._Roll_back_used_files_n
call fcn.14000bc30
mov edi, esi
mov rbx, qword [rbp + 0x450]
mov r12, qword [rbp + 0x458]
cmp rbx, r12
je 0x140005a20
mov rax, qword [rbx]
mov rdx, r13
test rax, rax
cmovne rdx, rax
lea rcx, str.__:___s__n
call fcn.14000bc30
mov rdx, rbx
lea rcx, [rbp + 0x1060]
call fcn.140006c70
nop
lea rdx, str..old
lea rcx, [rbp + 0x1060]
call fcn.140007130
mov rax, qword [rbx]
mov rdx, r13
test rax, rax
cmovne rdx, rax
mov rcx, r13
mov rax, qword [rbp + 0x1060]
test rax, rax
cmovne rcx, rax
mov r8d, 9
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x1400059ef
inc edi
jmp 0x140005a04
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.__rename_failed:___d__n
call fcn.14000bc30
nop
lea rcx, [rbp + 0x1060]
call fcn.140006d00
add rbx, 0x260
cmp rbx, r12
jne 0x140005981
mov edx, edi
lea rcx, str.Rollback_used_files_end__d_n
call fcn.14000bc30
cmp byte [0x14009fb08], 0
je 0x140005a4d
cmp byte [0x14009fb09], 0
jne 0x140005a4d
cmp byte [0x14009cc31], 0
jne 0x140005a4d
mov al, 1
jmp 0x140005a4f
xor al, al
cmp byte [rsp + 0x31], 0
je 0x140005ab3
test al, al
jne 0x140005ab3
cmp byte [0x14009cc30], al
je 0x140005aa3
lea rcx, str.Replace_after_restart_begin_n
call fcn.14000bc30
lea rcx, [rbp - 0x50]
call fcn.1400141f0
test eax, eax
sete r14b
movzx r12d, r14b
mov byte [rsp + 0x30], r14b
neg eax
sbb r15d, r15d
and r15d, 0xfffff825
mov edx, r15d
lea rcx, str.Replace_after_restart_finished__d_n
call fcn.14000bc30
jmp 0x140005ab9
xor r12b, r12b
mov byte [rsp + 0x30], r12b
mov r15d, 0xfffff825
jmp 0x140005ab9
movzx r12d, byte [rsp + 0x30]
cmp byte [0x14009fb0a], 0
je 0x140005b6a
test r15d, r15d
jne 0x140005b4a
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x12c0]
call fcn.140006c70
nop
lea rdx, [0x14008d3b8]
lea rcx, [rbp + 0x12c0]
call fcn.140007130
mov rdx, r13
mov rax, qword [rbp + 0x480]
test rax, rax
cmovne rdx, rax
mov rax, qword [rbp + 0x12c0]
test rax, rax
cmovne r13, rax
lea r8d, [r15 + 9]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov edx, ebx
lea rcx, str.Prepare_normal_update__d__d_n
call fcn.14000bc30
nop
lea rcx, [rbp + 0x12c0]
call fcn.140006d00
jmp 0x140005b6a
lea rdx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 8
cmovae rdx, qword [rbp + 0x98]
lea rcx, [rbp + 0x60]
call fcn.140019700
cmp byte [0x14009fb0c], 0
je 0x140005cde
test r14b, r14b
je 0x140005cb9
lea rdx, str.postinstall
lea rcx, str.Scripts__s_begin_n
call fcn.14000bc30
mov ebx, dword [0x14009cc38]
xor r9d, r9d
mov r8d, ebx
lea rdx, str.postinstall
lea rcx, [rbp - 0x50]
call fcn.140013530
mov edi, eax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9b, 1
mov r8d, ebx
lea rdx, str.postinstall
lea rcx, [rbp - 0x50]
call fcn.140011c70
add edi, eax
xor r9d, r9d
mov r8d, ebx
lea rdx, str.postinstall
lea rcx, [rbp - 0x50]
call fcn.140012e40
lea r8d, [rax + rdi]
lea rdx, str.postinstall
lea rcx, str.Scripts__s_end__d_n
call fcn.14000bc30
lea rcx, str.Processes_start_begin_n
call fcn.14000bc30
lea rcx, [rbp - 0x50]
call fcn.1400101d0
mov edx, eax
lea rcx, str.Processes_start_end__d_n
call fcn.14000bc30
test r12b, r12b
jne 0x140005cae
lea rdx, str.postrestart
lea rcx, str.Scripts__s_begin_n
call fcn.14000bc30
mov ebx, dword [0x14009cc38]
xor r9d, r9d
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140013530
mov edi, eax
mov byte [rsp + 0x28], r12b
mov byte [rsp + 0x20], r12b
mov r9b, 1
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140011c70
add edi, eax
xor r9d, r9d
mov r8d, ebx
lea rdx, str.postrestart
lea rcx, [rbp - 0x50]
call fcn.140012e40
lea r8d, [rax + rdi]
lea rdx, str.postrestart
lea rcx, str.Scripts__s_end__d_n
call fcn.14000bc30
jmp 0x140005ce3
lea rcx, [rbp - 0x50]
call fcn.140012490
jmp 0x140005ce3
lea rcx, str.Processes_start_begin_n
call fcn.14000bc30
lea rcx, [rbp - 0x50]
call fcn.1400101d0
mov edx, eax
lea rcx, str.Processes_start_end__d_n
call fcn.14000bc30
jmp 0x140005cf9
test r14b, r14b
je 0x140005cf9
cmp byte [rsp + 0x32], 0
je 0x140005cf9
movzx r14d, r14b
cmp dword [rbp + 0x470], 0
cmove r14d, esi
mov r8d, esi
test r12b, r12b
setne r8b
cmp byte [0x14009cc31], 0
jne 0x140005d1d
movzx eax, byte [0x14009fb08]
neg al
sbb ecx, ecx
and ecx, 2
or r8d, ecx
mov r9d, esi
test r14b, r14b
setne r9b
mov edx, r15d
lea rcx, str.Installation_end__d__d__d_n
call fcn.14000bc30
mov r14, qword [rsp + 0x38]
mov r15d, 1
mov ebx, esi
lea rcx, [rbp + 0x480]
call fcn.140006d00
nop
lea rcx, [rbp + 0xba0]
call fcn.140006d00
nop
mov rcx, qword [rbp + 0x478]
test rcx, rcx
je 0x140005d75
call fcn.140048430
mov qword [rbp + 0x478], rsi
lea rcx, [rbp + 0x450]
call fcn.140015110
lea rcx, [rbp + 0x1e8]
call fcn.140006d00
lea rcx, [rbp + 0x1d8]
call fcn.1400151d0
mov r8, qword [rbp + 0x1b0]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x1b0]
call fcn.140016390
mov edx, 0x38
mov rcx, qword [rbp + 0x1b0]
call fcn.140048430
mov r8, qword [rbp + 0x1a0]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x1a0]
call fcn.140016390
mov edx, 0x38
mov rcx, qword [rbp + 0x1a0]
call fcn.140048430
lea rcx, [rbp + 0x100]
call fcn.14000c960
lea rcx, [rbp + 0x60]
call fcn.14000c960
lea rcx, [rbp - 0x40]
call fcn.14000c960
nop
test r14, r14
je 0x1400049eb
cmp byte [rsp + 0x50], 0
je 0x140005e2f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400049eb
mov eax, dword [0x14009f8d4]
test eax, eax
jle 0x140005e4d
mov dword [0x14009f8d4], esi
mov rax, qword [0x14009f8c8]
test rax, rax
je 0x140005e94
mov eax, dword [0x14009f8d4]
test eax, eax
jne 0x140005e94
mov eax, dword [0x14009f8d0]
test eax, eax
jne 0x140005e94
mov rax, qword [0x14009f8c8]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140005e8d
mov rcx, qword [rsp + 0x38]
call fcn.1400073a0
mov qword [0x14009f8c8], rsi
xchg dword [0x14009fb80], esi
mov eax, ebx
mov rcx, qword [rbp + 0x1788]
xor rcx, rsp
call fcn.140048410
lea r11, [rsp + 0x1890]
mov rbx, qword [r11 + 0x30]
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.140054034
nop
xor edx, edx
xor ecx, ecx
call fcn.14004aaec
nop
xor edx, edx
xor ecx, ecx
call fcn.14004aaec
nop
call fcn.140054034
int3