Function at 0x14000b780
Capabilities:
Copy file
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x2d8], rbx
mov rax, qword [0x1402ba4e0]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rsi, r9
movzx r15d, r8w
mov rbx, rdx
mov rdi, rcx
test rcx, rcx
je 0x14000bc2f
test rdx, rdx
je 0x14000bc2f
xor r12d, r12d
mov r13d, r12d
mov dword [rsp + 0x48], r12d
mov ecx, 0x1ffff
call fcn.14010a204
mov r14, rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r12 + 3]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14000bbcd
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x48]
mov r8d, 0x1fffe
mov rdx, r14
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x14000bbcd
cmp dword [rsp + 0x48], r13d
je 0x14000bbcd
mov byte [rbp + 0x70], r13b
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x71]
call fcn.14010da60
mov rdx, rbx
lea rcx, [rbp + 0x70]
sub rcx, rbx
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
inc rdx
test al, al
jne 0x14000b882
mov byte [rsp + 0x60], r13b
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x61]
call fcn.14010da60
cmp dword [0x1402c0964], r13d
je 0x14000b8e8
test rsi, rsi
je 0x14000b8d3
cmp byte [rsi], r13b
je 0x14000b8d3
lea rcx, [rsp + 0x60]
sub rcx, rsi
movzx eax, byte [rsi]
mov byte [rcx + rsi], al
inc rsi
test al, al
jne 0x14000b8c1
jmp 0x14000b95f
mov r8d, 0x103
lea rdx, [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jmp 0x14000b95f
lea rcx, [rsp + 0x60]
sub rcx, rbx
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
inc rbx
test al, al
jne 0x14000b8f0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
repne scasb al, byte [rdi]
not rcx
sub rcx, 2
cmp rcx, 1
jle 0x14000b934
movzx eax, byte [rsp + rcx + 0x60]
cmp al, 0x5c
je 0x14000b92f
cmp al, 0x2f
je 0x14000b92f
dec rcx
cmp rcx, 1
jg 0x14000b917
jmp 0x14000b934
mov byte [rsp + rcx + 0x61], r13b
lea rdi, [rsp + 0x60]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, qword [str.eb716setup_stub.bin]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x14000b950
xor r8d, r8d
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, 0x3e8
lea rcx, [rbp + 0x70]
call fcn.1400d7a40
mov rdi, rax
test rax, rax
je 0x14000bb85
mov rcx, rax
call fcn.1400d79a0
mov ebx, eax
test eax, eax
je 0x14000b9ad
mov rcx, rdi
call fcn.1400d7540
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.1400d7d20
mov rcx, rdi
call fcn.14010d304
xor edx, edx
lea rcx, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_BeginUpdateResourceA]
mov rdi, rax
test rax, rax
je 0x14000baa2
movzx r8d, r15w
xor r9d, r9d
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
lea rdx, str.RT_RCDATA
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UpdateResourceA]
test eax, eax
je 0x14000ba5a
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceA]
test eax, eax
je 0x14000ba0f
mov r13d, 1
jmp 0x14000baf2
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf0d
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
jmp 0x14000bae8
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf0e
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
jmp 0x14000bae8
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf0f
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
lea rcx, [rsp + 0x40]
call fcn.1400ca400
test ebx, ebx
je 0x14000bc1d
xor r13d, r13d
mov edx, 0x3e8
lea rcx, [rbp + 0x70]
call fcn.1400d7a40
mov rdi, rax
test rax, rax
je 0x14000bb3a
mov rcx, rax
call fcn.1400d8dc0
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.1400d7d20
mov rcx, rdi
call fcn.14010d304
mov r13d, 1
jmp 0x14000bc1d
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf0f
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
jmp 0x14000bc13
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf0f
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
jmp 0x14000bc13
mov rax, qword [0x1402b9cc8]
mov qword [rsp + 0x40], rax
lea rdx, [0x14024d112]
lea rcx, [rsp + 0x40]
call fcn.1400ca6a0
xor r8d, r8d
mov edx, 0xdf10
lea rcx, [rsp + 0x40]
call fcn.1400cc060
nop
mov edx, 0x3e8
mov r8d, 1
mov rcx, qword [rsp + 0x40]
call fcn.14000a910
nop
lea rcx, [rsp + 0x40]
call fcn.1400ca400
test r14, r14
je 0x14000bc2a
mov rcx, r14
call fcn.140085540
mov eax, r13d
jmp 0x14000bc31
xor eax, eax
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14010d170
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret