Function at 0x180094940
Capabilities:
Copy file

Disassembly:
mov r11, rsp
sub rsp, 0x468
mov rax, qword [0x180248950]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rax, qword [rcx + 0x40]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x18], r14
mov rdx, qword [rax]
mov r14, rcx
mov rbx, qword [rdx]
cmp rbx, rdx
je 0x18009483b
mov qword [r11 + 0x18], rbp
mov qword [r11 - 8], rsi
mov qword [r11 - 0x10], rdi
lea rsi, [rcx + 0xf8]
nop dword [rax]
mov rdi, qword [rbx + 0x28]
lea rdx, [0x1801ec2c4]
lea rcx, [rsp + 0x20]
mov rax, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
lea r8, [0x1801ebd7c]
cmp byte [rax], 0
jne 0x18009472b
lea r8, [0x1801ebd50]
call fcn.1800b5a54
lea r8, [rdi + 0x18]
lea rdx, str.Is_s
lea rcx, [rsp + 0x230]
call fcn.1800b5a54
cmp qword [rsi + 0x18], 8
jb 0x180094754
mov r9, qword [rsi]
jmp 0x180094757
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x230]
lea rcx, str.HotKey
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea r8, [rdi + 0x18]
lea rdx, str.Use_s
lea rcx, [rsp + 0x230]
call fcn.1800b5a54
lea rdx, [0x1801ec2c4]
lea rcx, [rsp + 0x20]
mov r8, rbp
call fcn.1800b5a54
cmp qword [rsi + 0x18], 8
jb 0x1800947a9
mov r9, qword [rsi]
jmp 0x1800947ac
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x230]
lea rcx, str.HotKey
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [rbx + 0x19], 0
jne 0x180094816
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1800947f0
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x180094816
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800947e2
jmp 0x180094816
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x180094813
nop word [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x180094813
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180094800
mov rbx, rax
mov rax, qword [r14 + 0x40]
cmp rbx, qword [rax]
jne 0x180094700
mov rdi, qword [rsp + 0x458]
mov rsi, qword [rsp + 0x460]
mov rbp, qword [rsp + 0x480]
lea rbx, [r14 + 0x138]
cmp qword [rbx + 0x18], 8
jb 0x18009484e
mov r9, qword [rbx]
jmp 0x180094851
mov r9, rbx
lea r8, [0x1801ebd7c]
lea rdx, str.ModifyHotKey
lea rcx, str.SetModify
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [rbx + 0x18], 8
jb 0x180094878
mov r9, qword [rbx]
jmp 0x18009487b
mov r9, rbx
lea r8, [0x1801ebd7c]
lea rdx, str.ModifyHotKey64
lea rcx, str.SetModify
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [rbx + 0x18], 8
jb 0x1800948a2
mov r9, qword [rbx]
jmp 0x1800948a5
mov r9, rbx
lea r8, [0x1801ebd7c]
lea rdx, str.TempModifyHotKey
lea rcx, str.SetModify
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [rbx + 0x18], 8
jb 0x1800948ca
mov rbx, qword [rbx]
lea r8, [0x1801ebd7c]
lea rdx, str.TempModifyHotKey64
lea rcx, str.SetModify
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rbx, qword [rsp + 0x478]
lea rdx, [r14 + 0x118]
cmp qword [rdx + 0x18], 8
jb 0x180094901
mov rdx, qword [rdx]
lea rcx, [r14 + 0xf8]
mov r14, qword [rsp + 0x450]
cmp qword [rcx + 0x18], 8
jb 0x18009491a
mov rcx, qword [rcx]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1800b5370
add rsp, 0x468
ret
push rbp
push rbx
mov rbp, rsp
sub rsp, 0x28
mov rax, qword [rcx + 0x30]
mov rbx, rcx
mov rdx, qword [rax]
mov rax, qword [rdx]
cmp rax, rdx
je 0x180094a7b
mov r10, qword [rbx + 0x58]
mov r11, qword [rax + 0x28]
mov r8d, dword [rax + 0x20]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094998
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x18009498c
mov rcx, qword [rcx + 0x10]
jmp 0x180094992
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094980
cmp rdx, r9
je 0x1800949ad
cmp r8d, dword [rdx + 0x20]
jl 0x1800949ad
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x18]
jmp 0x1800949b5
mov qword [rbp + 0x20], r9
lea rcx, [rbp + 0x20]
mov rcx, qword [rcx]
cmp rcx, r9
jne 0x180094a0e
mov r10, qword [rbx + 0x50]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x1800949e9
cmp dword [rcx + 0x20], r8d
jge 0x1800949dd
mov rcx, qword [rcx + 0x10]
jmp 0x1800949e3
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1800949d1
cmp rdx, r9
je 0x1800949fe
cmp r8d, dword [rdx + 0x20]
jl 0x1800949fe
mov qword [rbp + 0x28], rdx
lea rcx, [rbp + 0x28]
jmp 0x180094a06
mov qword [rbp + 0x30], r9
lea rcx, [rbp + 0x30]
mov rcx, qword [rcx]
cmp rcx, r9
je 0x180094a23
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x180094a23
mov rcx, qword [rcx + 8]
mov rdx, qword [r11 + 8]
mov ecx, dword [rcx]
mov dword [rdx], ecx
cmp byte [rax + 0x19], 0
jne 0x180094a6e
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x180094a4e
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x180094a6e
nop
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094a40
jmp 0x180094a6e
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094a6b
cmp rax, qword [rcx + 0x10]
jne 0x180094a6b
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x180094a58
mov rax, rcx
mov rcx, qword [rbx + 0x30]
cmp rax, qword [rcx]
jne 0x180094960
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax]
mov rax, qword [rcx]
cmp rax, rcx
je 0x180094bab
nop
mov r10, qword [rbx + 0x58]
mov r11, qword [rax + 0x28]
mov r8d, dword [rax + 0x20]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094ac8
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x180094abc
mov rcx, qword [rcx + 0x10]
jmp 0x180094ac2
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094ab0
cmp rdx, r9
je 0x180094add
cmp r8d, dword [rdx + 0x20]
jl 0x180094add
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x18]
jmp 0x180094ae5
mov qword [rbp + 0x20], r9
lea rcx, [rbp + 0x20]
mov rcx, qword [rcx]
cmp rcx, r9
jne 0x180094b3e
mov r10, qword [rbx + 0x50]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094b19
cmp dword [rcx + 0x20], r8d
jge 0x180094b0d
mov rcx, qword [rcx + 0x10]
jmp 0x180094b13
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094b01
cmp rdx, r9
je 0x180094b2e
cmp r8d, dword [rdx + 0x20]
jl 0x180094b2e
mov qword [rbp + 0x28], rdx
lea rcx, [rbp + 0x28]
jmp 0x180094b36
mov qword [rbp + 0x30], r9
lea rcx, [rbp + 0x30]
mov rcx, qword [rcx]
cmp rcx, r9
je 0x180094b54
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x180094b54
mov rcx, qword [rcx + 8]
mov rdx, qword [r11 + 8]
movzx ecx, byte [rcx]
mov byte [rdx], cl
cmp byte [rax + 0x19], 0
jne 0x180094b9e
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x180094b7e
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x180094b9e
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094b70
jmp 0x180094b9e
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094b9b
cmp rax, qword [rcx + 0x10]
jne 0x180094b9b
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x180094b88
mov rax, rcx
mov rcx, qword [rbx + 0x28]
cmp rax, qword [rcx]
jne 0x180094a90
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
mov rax, qword [rcx]
cmp rax, rcx
je 0x180094ca3
nop
mov r10, qword [rbx + 0x60]
mov r11, qword [rax + 0x28]
mov r8d, dword [rax + 0x20]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094bf8
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x180094bec
mov rcx, qword [rcx + 0x10]
jmp 0x180094bf2
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094be0
cmp rdx, r9
je 0x180094c0d
cmp r8d, dword [rdx + 0x20]
jl 0x180094c0d
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x18]
jmp 0x180094c15
mov qword [rbp + 0x20], r9
lea rcx, [rbp + 0x20]
mov rcx, qword [rcx]
cmp rcx, r9
je 0x180094c45
mov rdx, qword [rcx + 0x28]
test rdx, rdx
je 0x180094c45
mov rdx, qword [rdx + 8]
mov r8, qword [r11 + 8]
nop
movzx ecx, word [rdx]
lea r8, [r8 + 2]
lea rdx, [rdx + 2]
mov word [r8 - 2], cx
test cx, cx
jne 0x180094c30
cmp byte [rax + 0x19], 0
jne 0x180094c96
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x180094c6f
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x180094c96
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094c61
jmp 0x180094c96
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094c93
nop dword [rax]
cmp rax, qword [rcx + 0x10]
jne 0x180094c93
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x180094c80
mov rax, rcx
mov rcx, qword [rbx + 0x38]
cmp rax, qword [rcx]
jne 0x180094bc0
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx]
cmp rax, rcx
je 0x180094dab
nop word [rax + rax]
mov r10, qword [rbx + 0x68]
mov r11, qword [rax + 0x28]
mov r8d, dword [rax + 0x20]
mov r9, qword [r10]
mov rdx, r9
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094cf8
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x180094cec
mov rcx, qword [rcx + 0x10]
jmp 0x180094cf2
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094ce0
cmp rdx, r9
je 0x180094d0d
cmp r8d, dword [rdx + 0x20]
jl 0x180094d0d
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x18]
jmp 0x180094d15
mov qword [rbp + 0x20], r9
lea rcx, [rbp + 0x20]
mov rcx, qword [rcx]
cmp rcx, r9
je 0x180094d53
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x180094d53
mov r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
mov r9, qword [r11 + 0x10]
mov rdx, qword [r11 + 8]
movzx ecx, byte [rcx]
sub r9, r8
mov byte [rdx], cl
nop
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov word [r8 + r9 - 2], cx
test cx, cx
jne 0x180094d40
cmp byte [rax + 0x19], 0
jne 0x180094d9e
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x180094d7e
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x180094d9e
nop
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180094d70
jmp 0x180094d9e
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180094d9b
cmp rax, qword [rcx + 0x10]
jne 0x180094d9b
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x180094d88
mov rax, rcx
mov rcx, qword [rbx + 0x40]
cmp rax, qword [rcx]
jne 0x180094cc0
mov rcx, rbx
call fcn.1800940a0
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rbp
jmp 0x1800946b0