Function at 0x14002b070
Capabilities:
Copy file
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x360
mov rdi, rcx
mov esi, r8d
mov r13, rdx
lea rcx, [rsp + 0x68]
mov edx, 0x19c8
and esi, 0x30000
call fcn.14005fa8c
mov r8, qword [rsp + 0x68]
lea r9, [rsp + 0x40]
xor r15d, r15d
mov edx, 0x527
mov rcx, r13
mov qword [rsp + 0x40], r15
call fcn.140060964
mov r11, qword [rsp + 0x40]
cmp r11, r15
jne 0x14002b0e6
call qword [sym.imp.KERNEL32.DLL_GetLastError]
lea r12d, [r15 + 1]
mov ebx, eax
cmp eax, r15d
cmove ebx, r12d
jmp 0x14002b6a2
mov rbp, qword [rsp + 0x68]
sub r11, rbp
mov rdx, rbp
sar r11, 1
lea r14, [rbp + 0xa50]
movsxd rax, r11d
mov rcx, r14
lea r10, [rax + rax]
mov r8, r10
call fcn.14001c8fc
lea rax, [r10 + r14]
xor edx, edx
mov word [rax], r15w
mov rcx, qword [rdi + 0x168]
mov qword [rsp + 0x70], rax
lea rbx, [r14 + 0xa50]
lea r12d, [rdx + 1]
cmp rcx, rdx
je 0x14002b1eb
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rdx, qword [rdi + 0x168]
lea r8d, [r12 + 0x5b]
movsxd rcx, eax
cmp r8w, word [rdx + rcx*2 - 2]
je 0x14002b161
lea r8d, [r12 + 0x2e]
cmp r8w, word [rdx + rcx*2 - 2]
jne 0x14002b164
sub eax, r12d
cdqe
mov rcx, rbx
lea r10, [rax + rax]
mov r8, r10
call fcn.14001c8fc
lea rcx, [r10 + rbx]
lea rdx, [0x140111ce8]
mov r8d, 0xc
call fcn.14001c8fc
mov rdx, qword [rdi + 0x168]
lea rcx, [rbx + 0xa50]
mov r8, r10
call fcn.14001c8fc
lea rcx, [r10 + rbx + 0xa50]
lea rdx, [0x140111cc0]
mov r8d, 0x26
call fcn.14001c8fc
mov rdx, qword [rdi + 0x168]
lea rcx, [rbx + 0x14a0]
mov r8, r10
call fcn.14001c8fc
lea rdx, [0x140111ca8]
add rcx, r10
mov r8d, 0x16
call fcn.14001c8fc
jmp 0x14002b280
lea rcx, [rsp + 0x78]
lea rdx, [0x140111080]
mov r8d, 0x24
call fcn.1400f4550
lea rcx, [rsp + 0x78]
mov r8d, 0x104
mov rdx, rbx
call qword [sym.imp.KERNEL32.DLL_ExpandEnvironmentStringsW]
lea rcx, [rsp + 0xd0]
lea rdx, [0x140111c68]
mov r8d, 0x3e
call fcn.1400f4550
lea rdx, [rbx + 0xa50]
lea rcx, [rsp + 0xd0]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.DLL_ExpandEnvironmentStringsW]
lea rcx, [rsp + 0xa0]
lea rdx, [0x140111c38]
mov r8d, 0x2e
call fcn.1400f4550
lea rdx, [rbx + 0x14a0]
lea rcx, [rsp + 0xa0]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.DLL_ExpandEnvironmentStringsW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rbx + 0xa50]
mov dword [rsp + 0x3b0], eax
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rbx + 0x14a0]
mov dword [rsp + 0x58], eax
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
movsxd rcx, dword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x40]
lea rcx, [rbx + rcx*2]
mov dword [rsp + 0x3b8], eax
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea rcx, [rsp + 0x30]
mov edx, 0x2800
call fcn.14005fa8c
mov rcx, qword [rsp + 0x30]
lea r8, [0x140111c18]
mov r9, r13
mov edx, 0x27ff
call fcn.1400f4b98
mov rdx, qword [rsp + 0x30]
xor eax, eax
add rdi, 8
mov qword [rsp + 0x28], rax
lea r9d, [rax + 0x11]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x48], rdi
call fcn.140025258
lea rcx, [rsp + 0x30]
call fcn.140057768
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_CopyFileW]
call qword [sym.imp.KERNEL32.DLL_GetLastError]
xor edx, edx
cmp esi, edx
je 0x14002b39e
lea rcx, [rsp + 0x30]
mov edx, 0x2800
call fcn.14005fa8c
mov rcx, qword [rsp + 0x30]
lea r8, [0x140111bf0]
mov r9, rbx
mov edx, 0x27ff
call fcn.1400f4b98
mov rdx, qword [rsp + 0x30]
xor eax, eax
mov qword [rsp + 0x28], rax
lea r9d, [rax + 0x11]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140025258
lea rcx, [rsp + 0x30]
call fcn.140057768
mov edx, esi
mov rcx, rbx
call fcn.1400201fc
lea rcx, [rsp + 0x30]
mov edx, 0x2800
call fcn.14005fa8c
mov rcx, qword [rsp + 0x30]
lea r8, [0x140111bd0]
mov r9, r13
mov edx, 0x27ff
call fcn.1400f4b98
mov rdx, qword [rsp + 0x30]
xor r13d, r13d
lea r9d, [r13 + 0x11]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140025258
lea rcx, [rsp + 0x30]
call fcn.140057768
mov rcx, qword [rsp + 0x40]
lea r8d, [r13 + 8]
lea rdx, [0x140111bc8]
call fcn.14001c8fc
lea rcx, [rsp + 0x114]
xor edx, edx
mov r8d, 0x24c
mov dword [rsp + 0x110], r13d
call fcn.1400f3900
lea r8, [rsp + 0x110]
lea rcx, [rsp + 0x38]
mov rdx, rbp
mov qword [rsp + 0x38], r13
call fcn.1400f2c8c
cmp qword [rsp + 0x38], r13
je 0x14002b69a
lea edi, [r13 + 4]
test byte [rsp + 0x110], 0x10
jne 0x14002b668
mov ecx, 0x2e
cmp cx, word [rsp + 0x13c]
jne 0x14002b48f
movzx eax, word [rsp + 0x13e]
cmp ax, r13w
je 0x14002b668
cmp cx, ax
jne 0x14002b48f
cmp word [rsp + 0x140], r13w
je 0x14002b668
lea rcx, [rsp + 0x13c]
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x13c]
add eax, r12d
movsxd r8, eax
add r8, r8
call fcn.14001c8fc
lea rcx, [rsp + 0x13c]
call fcn.1400f3e90
mov ebp, dword [rsp + 0x3b8]
lea rdx, [0x140111bb8]
cmp eax, edi
cmovl eax, edi
lea rdi, [rbx + 0x14a0]
cdqe
lea r13, [rsp + rax*2 + 0x134]
mov rcx, r13
call fcn.1400f40b4
xor edx, edx
cmp eax, edx
jne 0x14002b501
mov ebp, dword [rsp + 0x3b0]
mov rdi, rbx
lea rdx, [0x140111ba8]
mov rcx, r13
call fcn.1400f40b4
xor r13d, r13d
cmp eax, r13d
jne 0x14002b523
mov ebp, dword [rsp + 0x58]
lea rdi, [rbx + 0xa50]
movsxd rax, ebp
lea rdx, [rsp + 0x13c]
lea rcx, [rdi + rax*2]
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov ebp, 0x2800
lea rcx, [rsp + 0x30]
mov rdx, rbp
call fcn.14005fa8c
mov rcx, qword [rsp + 0x30]
lea r8, [0x140111c18]
lea edx, [rbp - 1]
mov r9, r14
call fcn.1400f4b98
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140025258
lea rcx, [rsp + 0x30]
call fcn.140057768
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_CopyFileW]
cmp rbx, rdi
jne 0x14002b605
cmp esi, r13d
je 0x14002b605
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.14005fa8c
mov rcx, qword [rsp + 0x60]
lea r8, [0x140111bf0]
lea edx, [rbp - 1]
mov r9, rbx
call fcn.1400f4b98
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140025258
lea rcx, [rsp + 0x60]
call fcn.140057768
mov edx, esi
mov rcx, rbx
call fcn.1400201fc
jmp 0x14002b60a
mov rdi, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.14005fa8c
mov rcx, qword [rsp + 0x50]
lea r8, [0x140111b88]
mov r9, r14
mov edx, 0x27ff
call fcn.1400f4b98
mov rdx, qword [rsp + 0x50]
mov r9d, 0x11
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140025258
lea rcx, [rsp + 0x50]
call fcn.140057768
mov word [rsp + 0x140], r13w
mov edi, 4
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x110]
call qword [sym.imp.KERNEL32.DLL_FindNextFileW]
cmp eax, r13d
jne 0x14002b44c
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x14002b69a
cmp rcx, 0xffffffffffffffff
je 0x14002b69a
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [rsp + 0x38], r13
mov ebx, r13d
lea rcx, [rsp + 0x68]
call fcn.140057768
mov eax, ebx
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x360
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret