Function at 0x41061c
Capabilities:
Accept command line arguments
Delete file

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x360
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov rbp, rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov r13d, 7
mov qword [rsp + 0x60], r13
xor esi, esi
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r8d, [r13 + 4]
lea rdx, str.Silent_Mode
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
mov r12d, 0xbb0
add rcx, r12
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea edi, [rsi + 0x15]
mov r8, rdi
lea rdx, str.Silent_Mode_Uninstall
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
lea r15d, [r12 + 0x58]
add rcx, r15
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, rdi
lea rdx, str.Silent_Mode_UI_string
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
mov ebx, 0xd10
add rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r8d, [r13 + 5]
lea rdx, str.WatsonSilent
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xc60
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r8d, [r13 + 1]
lea rdx, str.WatsonUI
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xcb8
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r8d, [r13 + 0x13]
lea rdx, str.WatsonGenerateManifestOnly
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xdc0
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r14d, [r13 - 6]
mov r8, r14
lea rdi, [0x0049d0ac]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, r12
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, r15
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
xor r8d, r8d
lea rdx, [0x004998e4]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xc60
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xcb8
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
xor r8d, r8d
lea rdx, [0x004998e4]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xdc0
lea rdx, [rsp + 0x40]
call fcn.0040ece8
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r15, rax
xor eax, eax
or r8, 0xffffffffffffffff
mov rcx, r8
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
mov rbx, rcx
lea rdi, [rcx + 1]
lea eax, [rsi + 2]
mul rdi
cmovo rax, r8
mov rcx, rax
call fcn.004444b0
mov r12, rax
cmp rax, rsi
je 0x4109dd
lea r8, [rbx + rbx + 2]
xor edx, edx
mov rcx, rax
call fcn.00449860
mov r8, r15
mov rdx, rdi
mov rcx, r12
call fcn.004444bc
jmp 0x4109e0
mov r12, r15
mov rdx, rdi
mov rcx, r12
call fcn.00444b84
lea rdx, [0x0049d210]
mov rcx, r12
call fcn.00445330
mov rdi, rax
lea rbx, [0x0049a2d0]
cmp rax, rsi
je 0x410c02
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xbb0
lea rdx, [rsp + 0x40]
call fcn.0040ece8
cmp word [rdi + 4], 0x75
je 0x410a67
lea rdx, [0x0049d218]
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410aa6
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xc08
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [0x0049ad40]
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410b00
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 3
lea rdx, [0x0049ad40]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xd10
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, str._qb_
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410b5a
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 4
lea rdx, str._qb_
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xd10
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, str._watsonsilent
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410baf
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xc60
lea rdx, [rsp + 0x40]
call fcn.0040ece8
jmp 0x410c02
lea rdx, str._watsonui
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410c02
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xcb8
lea rdx, [rsp + 0x40]
call fcn.0040ece8
mov rdx, qword [str._watsongenman]
mov rcx, r12
call fcn.00445330
mov rbx, rax
cmp rax, rsi
je 0x410d65
mov r14d, esi
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x80], rsi
mov word [rsp + 0x70], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdx, qword [str._watsongenman]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x68]
call fcn.00404e54
nop
mov rax, qword [rsp + 0x80]
lea r13, [rbx + rax*2]
cmp qword [rsp + 0x88], 8
jb 0x410c7b
mov rcx, qword [rsp + 0x70]
call fcn.00443d3c
mov qword [rsp + 0x88], 7
mov qword [rsp + 0x80], rsi
mov word [rsp + 0x70], si
mov rbx, rsi
movzx ecx, word [r13]
call fcn.00444ec8
cmp eax, esi
jne 0x410cc4
mov rdi, r13
cmp word [rdi], si
je 0x410cc4
inc r14d
inc rbx
lea rdi, [r13 + rbx*2]
movzx ecx, word [rdi]
call fcn.00444ec8
cmp eax, esi
je 0x410ca8
lea eax, [r14 + 1]
movsxd rdi, eax
mov eax, 2
mul rdi
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.004444b0
mov rbx, rax
lea r8, [rdi + rdi]
xor edx, edx
mov rcx, rax
call fcn.00449860
mov r8, r13
mov rdx, rdi
mov rcx, rbx
call fcn.004444bc
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r14d, [rax + 1]
sub rcx, r14
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0xdc0
lea rdx, [rsp + 0x40]
call fcn.0040ece8
mov rcx, rbx
call fcn.00444544
lea rdx, str._lang
mov rcx, r12
call fcn.00445330
mov rdi, rax
mov r13d, 0x20
cmp rax, rsi
je 0x410e4a
add rdi, 0xa
movzx eax, word [rdi]
cmp ax, si
je 0x410da4
cmp ax, r13w
jne 0x410da4
add rdi, 2
mov ax, word [rdi]
cmp ax, si
jne 0x410d92
mov word [rsp + 0x130], si
xor eax, eax
mov qword [rsp + 0x132], rax
mov rbx, rsi
cmp word [rdi], si
je 0x410de2
movzx ecx, word [rdi]
call fcn.00444eb8
cmp eax, esi
je 0x410de2
movzx eax, word [rdi]
mov word [rsp + rbx*2 + 0x130], ax
add rdi, 2
add rbx, r14
cmp rbx, 4
jb 0x410db9
cmp rbx, 4
jne 0x410e51
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov ebx, 7
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x130]
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
mov r8, rcx
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0x7e8
lea rdx, [rsp + 0x40]
call fcn.0040ece8
jmp 0x410e56
mov ebx, 7
jmp 0x410e56
mov ebx, 7
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 0xd
lea rdx, str.SkipAllChecks
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
mov edi, 0xd68
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, str._skip_all_checks
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x410ef2
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
jmp 0x410f31
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
lea rdx, [0x0049d0ac]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [0x0049d2ac]
mov rcx, r12
call fcn.00445330
mov rdi, rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], si
mov r8, r14
lea rdx, [0x0049d0ac]
lea rcx, [rsp + 0xe0]
call fcn.00404e54
nop
cmp rdi, rsi
je 0x410f8f
mov r8, r14
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0xe0]
call fcn.00404e54
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 0xa
lea rdx, str.Usage_Mode
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
mov edi, 0xaa8
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [0x0049d2d0]
mov rcx, r12
call fcn.00445330
mov rdi, rax
cmp rax, rsi
jne 0x411043
lea rdx, [0x0049d2d8]
mov rcx, r12
call fcn.00445330
mov rdi, rax
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rsi
mov word [rsp + 0xc0], si
mov r8, r14
lea rdx, [0x0049d0ac]
lea rcx, [rsp + 0xb8]
call fcn.00404e54
nop
cmp rdi, rsi
je 0x4111d5
mov r8, r14
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0xb8]
call fcn.00404e54
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8, r14
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0x580
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 9
lea rdx, str.TARGETDIR
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
add rcx, 0x318
lea rdx, [rsp + 0x40]
call fcn.0040ece8
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], rsi
mov word [rsp + 0x70], si
mov rdx, qword [rbp + 0x28]
mov edi, 0x5d8
add rdx, rdi
add rdx, 0x28
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x68]
call fcn.004020b0
mov r8d, 3
lea rdx, [0x0049d550]
lea rcx, [rsp + 0x68]
call fcn.00404a40
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
nop
cmp qword [rsp + 0x88], 8
jb 0x4111c0
mov rcx, qword [rsp + 0x70]
call fcn.00443d3c
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], rsi
mov word [rsp + 0x70], si
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r8d, 0xa
lea rdx, str.Admin_Mode
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x28]
mov edi, 0xb00
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [0x004998e4]
lea rcx, [rsp + 0x90]
call fcn.00403b48
nop
lea rdx, str._msipassthru
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x41151d
lea rdx, str.MSI_PROP_BEGIN_
mov rcx, r15
call fcn.00445330
mov rdx, rax
cmp rax, rsi
je 0x411378
add rdx, 0x1e
xor eax, eax
or r15, 0xffffffffffffffff
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
mov r8, rcx
lea rcx, [rsp + 0x90]
call fcn.00404e54
lea r9d, [r15 + 0xe]
xor r8d, r8d
lea rdx, str._MSI_PROP_END
lea rcx, [rsp + 0x90]
call fcn.0040d11c
cmp rax, r15
je 0x411336
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x90]
call fcn.0040d0cc
nop
mov r9, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.004020b0
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x40]
call fcn.00402038
jmp 0x411521
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x90]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xb8]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xe0]
call fcn.00402038
xor al, al
jmp 0x411845
lea rdx, str.MSI_ARGS_FILENAME_BEGIN
mov rcx, r15
call fcn.00445330
cmp rax, rsi
je 0x4114f0
lea rdx, [rax + 0x2e]
lea rcx, [rsp + 0x68]
call fcn.00403b48
nop
mov r9d, 0x15
xor r8d, r8d
lea rdx, str.MSI_ARGS_FILENAME_END
lea rcx, [rsp + 0x68]
call fcn.0040d11c
or r15, 0xffffffffffffffff
cmp rax, r15
je 0x41149d
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.0040d0cc
nop
mov r9, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.004020b0
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x40]
call fcn.00402038
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x68]
mov rcx, rbp
call fcn.00411b68
cmp al, sil
jne 0x41146d
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x68]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x90]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xb8]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xe0]
call fcn.00402038
xor al, al
jmp 0x411845
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x68]
call fcn.00402038
jmp 0x411521
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x68]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x90]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xb8]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xe0]
call fcn.00402038
xor al, al
jmp 0x411845
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x90]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xb8]
call fcn.00402038
nop
jmp 0x41182f
or r15, 0xffffffffffffffff
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, str.Msi_Command_Line_properties
lea rcx, [rsp + 0x40]
call fcn.00403b48
nop
mov rcx, qword [rbp + 0x28]
mov edi, 0x6e0
add rcx, rdi
mov rdx, rax
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
mov r9, r15
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
lea rdx, [0x0049d3f0]
mov rcx, r12
call fcn.00445330
mov rbx, rax
mov r15d, 7
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x120], rsi
mov word [rsp + 0x110], si
cmp rax, rsi
je 0x411648
add rbx, 4
movzx eax, word [rbx]
cmp ax, si
je 0x4115e7
cmp ax, r13w
jne 0x4115e7
add rbx, 2
mov ax, word [rbx]
cmp ax, si
jne 0x4115d5
mov eax, 0x22
cmp word [rbx], ax
jne 0x4115f9
mov r13w, ax
add rbx, 2
movzx edx, r13w
mov rcx, rbx
call fcn.00445930
mov r12, rax
cmp rax, rsi
je 0x411610
mov word [rax], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x108]
call fcn.00404e54
cmp r12, rsi
je 0x411778
mov word [r12], r13w
jmp 0x411778
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x80], rsi
mov word [rsp + 0x70], si
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
lea r8, [rsp + 0x40]
mov edx, 0x1e
mov rcx, rbp
call fcn.00410024
lea r8, [rsp + 0x68]
mov edx, 0x11
mov rcx, rbp
call fcn.00410024
mov r8d, 3
lea rdx, [0x0049a288]
lea rcx, [rsp + 0x68]
call fcn.00404a40
mov word [rsp + 0x140], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x142]
call fcn.00449860
lea r9, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae r9, qword [rsp + 0x70]
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae r8, qword [rsp + 0x48]
lea rax, [0x0049d3f8]
mov qword [rsp + 0x20], rax
mov edx, 0x104
lea rcx, [rsp + 0x140]
call fcn.0040e408
cmp eax, esi
je 0x41173c
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x140]
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
mov r8, rcx
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x108]
call fcn.00404e54
jmp 0x411757
mov r8d, 0xa
lea rdx, str.MsiLog.txt
lea rcx, [rsp + 0x108]
call fcn.00404e54
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x40]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x68]
call fcn.00402038
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, str.MSI_Log_name
lea rcx, [rsp + 0x40]
call fcn.00403b48
nop
mov rcx, qword [rbp + 0x28]
mov edi, 0x688
add rcx, rdi
mov rdx, rax
call fcn.0040ed5c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or rax, 0xffffffffffffffff
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
mov rcx, qword [rbp + 0x28]
add rcx, rdi
lea rdx, [rsp + 0x40]
call fcn.0040ece8
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x108]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0x90]
call fcn.00402038
nop
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xb8]
call fcn.00402038
nop
mov sil, r14b
xor r8d, r8d
mov dl, r14b
lea rcx, [rsp + 0xe0]
call fcn.00402038
mov al, sil
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.00443d60
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret