Function at 0x44b3c0
Capabilities:
Create directory

Disassembly:
sub rsp, 0x518
mov qword [rsp + 0x510], rbx
mov qword [rsp + 0x508], rbp
mov qword [rsp + 0x500], rsi
mov qword [rsp + 0x4f8], rdi
mov qword [rsp + 0x4f0], r12
mov qword [rsp + 0x4e8], r13
mov qword [rsp + 0x4e0], r14
mov qword [rsp + 0x4d8], r15
mov rbx, r8
mov r13, rdx
mov rbp, rcx
mov qword [rsp + 0xa8], 0xfffffffffffffffe
call fcn.004545a0
test eax, eax
je 0x44b4a1
xor r8d, r8d
lea rdx, str.KINIFile::SetupForUninstall_n
lea rcx, [rsp + 0x1b0]
call fcn.00486850
movabs rdx, 0x203a5952544e45
mov qword [rsp + 0xb0], rdx
lea rdi, [rsp + 0xb0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x1b0]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x44b470
call fcn.004546e0
mov rcx, rax
call fcn.004545b0
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0xb0]
call fcn.004548a0
call fcn.004545a0
test eax, eax
je 0x44b4d9
mov r9, rbx
mov r8, r13
lea rdx, str.pszINIFileName___s__pszInstallSection___s_n
lea rcx, [rsp + 0x1b0]
call fcn.00486850
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0x1b0]
call fcn.004548a0
xor r15d, r15d
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rsi, rcx
je 0x44b55f
add rcx, 5
call fcn.00486ab0
mov rbx, rax
mov qword [rsp + 0x68], rax
lea r8, [rsi + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
lea rcx, [rsi + 5]
call fcn.00486ab0
mov qword [rsp + 0x70], rax
lea r8, [rsi + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
mov qword [rsp + 0x78], rsi
mov rcx, r13
mov rdx, rbx
sub rdx, r13
nop
nop
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
inc rcx
test al, al
jne 0x44b550
jmp 0x44b59b
mov ecx, 6
call fcn.00486ab0
mov rbx, rax
mov qword [rsp + 0x68], rax
xor eax, eax
mov dword [rbx], eax
mov word [rbx + 4], ax
mov ecx, 6
call fcn.00486ab0
mov qword [rsp + 0x70], rax
xor ecx, ecx
mov dword [rax], ecx
mov word [rax + 4], cx
mov qword [rsp + 0x78], 1
mov byte [rbx], cl
mov edi, 0xffffffff
mov rcx, rbx
lea rdx, [0x004a9dfc]
call fcn.00486ac0
test rax, rax
je 0x44b5c2
mov edi, eax
sub edi, ebx
movsxd rax, edi
lea rcx, [rax + rbx + 1]
jmp 0x44b5a3
mov r8d, edi
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.00424510
mov r8d, 1
lea rdx, [rsp + 0x2b0]
mov ecx, 0x104
call fcn.0047fd20
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x98], r15
lea rbx, [rbp + 0x16a0]
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rsi, rcx
je 0x44b672
add rcx, 5
call fcn.00486ab0
mov rbp, rax
mov qword [rsp + 0x88], rax
lea r8, [rsi + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
lea rcx, [rsi + 5]
call fcn.00486ab0
mov r12, rax
mov qword [rsp + 0x90], rax
lea r8, [rsi + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
mov rdx, rbp
sub rdx, rbx
movzx ecx, byte [rbx]
mov byte [rbx + rdx], cl
inc rbx
test cl, cl
jne 0x44b663
jmp 0x44b6b9
mov ecx, 6
call fcn.00486ab0
mov rbp, rax
mov qword [rsp + 0x88], rax
xor eax, eax
mov dword [rbp], eax
mov word [rbp + 4], ax
mov ecx, 6
call fcn.00486ab0
mov r12, rax
mov qword [rsp + 0x90], rax
xor eax, eax
mov dword [r12], eax
mov word [r12 + 4], ax
mov esi, 1
mov byte [rbp], al
mov r8, rsi
xor edx, edx
mov rcx, r12
call fcn.00499630
mov rdx, r15
test rsi, rsi
je 0x44b6e7
mov rax, r12
movzx ecx, byte [rdx + rbp]
cmp cl, 0x5c
je 0x44b6df
mov byte [rax], cl
inc rax
inc rdx
cmp rdx, rsi
jb 0x44b6d1
mov rcx, r12
mov rdx, rbp
sub rdx, r12
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
inc rcx
test al, al
jne 0x44b6f0
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
dec rcx
mov qword [rsp + 0x98], rcx
lea rdi, [rsp + 0x2b0]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rcx + rbp]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x44b730
xor edx, edx
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
mov rbx, qword [rsp + 0x68]
movzx eax, byte [rbx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x44b774
mov r14, r15
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], r15
mov r12, r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r15
mov rbp, r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], r15
lea rdx, [0x004add50]
mov rcx, r13
call fcn.00487690
mov rsi, rax
mov qword [rsp + 0x80], rax
test rax, rax
je 0x44bc4f
lea rdx, [0x004aed0c]
lea rcx, [rsp + 0x2b0]
call fcn.00487690
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x44bc40
mov r8, rsi
mov edx, 0x104
lea rcx, [rsp + 0x3c0]
call fcn.00487510
test rax, rax
je 0x44bc2c
mov r15, qword [rsp + 0x28]
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x3c0]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rbx, rcx
je 0x44bc07
cmp rcx, qword [rsp + 0x30]
jbe 0x44b891
test r14, r14
je 0x44b853
mov rcx, r14
call fcn.0049bb84
mov rcx, r15
call fcn.0049bb84
lea rcx, [rbx + 5]
call fcn.00486ab0
mov r14, rax
mov qword [rsp + 0x20], rax
lea r8, [rbx + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
lea rcx, [rbx + 5]
call fcn.00486ab0
mov r15, rax
mov qword [rsp + 0x28], rax
lea r8, [rbx + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x3c0]
lea rax, [rsp + 0x3c0]
mov rdx, r14
sub rdx, rax
nop
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
inc rcx
test al, al
jne 0x44b8b0
lea rdx, [0x004b3a10]
mov rcx, r14
call fcn.00486ac0
test rax, rax
je 0x44bbf7
sub eax, r14d
cmp eax, 0xffffffff
je 0x44bbf7
movsxd rdi, eax
cmp rdi, rbx
jae 0x44b90f
lea r8, [rbx + 5]
xor edx, edx
mov rcx, r15
call fcn.00499630
mov r8, rdi
mov rdx, r14
mov rcx, r15
call fcn.00487090
mov byte [r15 + rdi], 0
mov rbx, r15
jmp 0x44b912
mov rbx, r14
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r13, rcx
je 0x44b9a3
cmp rcx, qword [rsp + 0x48]
jbe 0x44b989
test rbp, rbp
je 0x44b949
mov rcx, rbp
call fcn.0049bb84
mov rcx, qword [rsp + 0x40]
call fcn.0049bb84
lea rcx, [r13 + 5]
call fcn.00486ab0
mov rbp, rax
mov qword [rsp + 0x38], rax
lea r8, [r13 + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
lea rcx, [r13 + 5]
call fcn.00486ab0
mov rsi, rax
mov qword [rsp + 0x40], rax
lea r8, [r13 + 5]
xor edx, edx
mov rcx, rax
call fcn.00499630
jmp 0x44b98e
mov rsi, qword [rsp + 0x40]
mov rcx, rbp
sub rcx, rbx
movzx eax, byte [rbx]
mov byte [rbx + rcx], al
inc rbx
test al, al
jne 0x44b994
jmp 0x44ba08
cmp qword [rsp + 0x48], 1
jae 0x44b9f9
test rbp, rbp
je 0x44b9c2
mov rcx, rbp
call fcn.0049bb84
mov rcx, qword [rsp + 0x40]
call fcn.0049bb84
mov ecx, 6
call fcn.00486ab0
mov rbp, rax
mov qword [rsp + 0x38], rax
xor eax, eax
mov dword [rbp], eax
mov word [rbp + 4], ax
mov ecx, 6
call fcn.00486ab0
mov rsi, rax
mov qword [rsp + 0x40], rax
xor eax, eax
mov dword [rsi], eax
mov word [rsi + 4], ax
jmp 0x44b9fe
mov rsi, qword [rsp + 0x40]
mov r13d, 1
mov byte [rbp], 0
xor ebx, ebx
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
dec rcx
je 0x44ba34
movzx eax, byte [rbx + rbp]
cmp al, 0x20
je 0x44ba2c
cmp al, 9
jne 0x44ba34
inc rbx
cmp rbx, rcx
jb 0x44ba20
lea r8, [r13 + 5]
xor edx, edx
mov rcx, rsi
call fcn.00499630
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
dec rcx
sub rcx, rbx
lea rdx, [rbx + rbp]
mov r8, rcx
mov rcx, rsi
call fcn.00487090
mov rcx, rbp
sub rcx, rsi
nop
movzx eax, byte [rsi]
mov byte [rsi + rcx], al
inc rsi
test al, al
jne 0x44ba70
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
dec rcx
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x38]
call fcn.00424400
lea rdx, str.AddReg
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call fcn.00488120
test eax, eax
jne 0x44bb84
mov r8d, 6
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.00424510
cmp qword [rsp + 0x60], 6
jae 0x44bb2b
test r12, r12
je 0x44baed
mov rcx, r12
call fcn.0049bb84
mov rcx, qword [rsp + 0x58]
call fcn.0049bb84
mov ecx, 0xb
call fcn.00486ab0
mov r12, rax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [r12], rax
mov word [r12 + 8], ax
mov byte [r12 + 0xa], al
mov ecx, 0xb
call fcn.00486ab0
mov qword [rsp + 0x58], rax
xor ecx, ecx
mov qword [rax], rcx
mov word [rax + 8], cx
mov byte [rax + 0xa], cl
mov qword [rsp + 0x60], 6
lea r13, str.DelReg
mov rcx, r13
sub r12, r13
movzx eax, byte [rcx]
mov byte [rcx + r12], al
inc rcx
test al, al
jne 0x44bb41
mov rdx, qword [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.004139b0
mov r12, qword [rsp + 0x50]
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.00402030
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x80]
jmp 0x44bbf7
lea rdx, str.CopyFiles
mov rcx, rbp
call fcn.00488120
test eax, eax
jne 0x44bbef
mov r8d, 9
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.00424510
lea rdx, str.DelFiles
lea rcx, [rsp + 0x50]
call fcn.00402030
mov rdx, qword [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.004139b0
mov r12, qword [rsp + 0x50]
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.00402030
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x80]
jmp 0x44bbf7
mov rsi, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xa0]
mov rcx, r14
call fcn.00487a90
mov r8, rsi
mov edx, 0x104
lea rcx, [rsp + 0x3c0]
call fcn.00487510
test rax, rax
jne 0x44b815
mov rbx, qword [rsp + 0x68]
jmp 0x44bc31
mov r15, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
call fcn.004874a0
jmp 0x44bc45
mov r15, qword [rsp + 0x28]
mov rcx, rsi
call fcn.004874a0
jmp 0x44bc54
mov r15, qword [rsp + 0x28]
call fcn.004545a0
test eax, eax
je 0x44bce2
xor r8d, r8d
lea rdx, str.KINIFile::SetupForUninstall_n
lea rcx, [rsp + 0x1b0]
call fcn.00486850
movabs rdx, 0x20203a54495845
mov qword [rsp + 0xb0], rdx
lea rdi, [rsp + 0xb0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x1b0]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x44bcb0
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0xb0]
call fcn.004548a0
call fcn.004546e0
mov rcx, rax
call fcn.004545c0
nop
test rbp, rbp
je 0x44bcfa
mov rcx, qword [rsp + 0x40]
call fcn.0049bb84
mov rcx, rbp
call fcn.0049bb84
nop
test r12, r12
je 0x44bd12
mov rcx, qword [rsp + 0x58]
call fcn.0049bb84
mov rcx, r12
call fcn.0049bb84
nop
test r14, r14
je 0x44bd28
mov rcx, r15
call fcn.0049bb84
mov rcx, r14
call fcn.0049bb84
nop
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x44bd4b
mov rcx, qword [rsp + 0x90]
call fcn.0049bb84
mov rcx, rdi
call fcn.0049bb84
nop
test rbx, rbx
je 0x44bd62
mov rcx, qword [rsp + 0x70]
call fcn.0049bb84
mov rcx, rbx
call fcn.0049bb84
mov rbx, qword [rsp + 0x510]
mov rbp, qword [rsp + 0x508]
mov rsi, qword [rsp + 0x500]
mov rdi, qword [rsp + 0x4f8]
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x4e8]
mov r14, qword [rsp + 0x4e0]
mov r15, qword [rsp + 0x4d8]
add rsp, 0x518
ret