Function at 0x1400c7b10
Capabilities:
Delete file
Extract resource via kernel32 functions
Get common file path
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x460
mov rax, qword [0x14017c820]
xor rax, rsp
mov qword [rsp + 0x450], rax
lea r13, [rcx + 0xa1c]
mov rbx, rcx
lea r9, [rcx + 0x61c]
mov esi, edx
lea rcx, [rsp + 0x50]
lea r8, str._s_s
mov edx, 0x200
mov qword [rsp + 0x20], r13
call fcn.14002c260
lea r8, [rsp + 0x50]
lea rdx, str._bExtract_SYS__Extract__s_n
mov rcx, rbx
call fcn.1400c3fb0
xor r14d, r14d
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], r14
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov rdi, rax
je 0x1400c7bd5
lea r8, [rsp + 0x50]
lea rdx, str._bExtract_SYS__File__s_does_already_exist_n
mov rcx, rbx
call fcn.1400c3fb0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [r14 + 1]
jmp 0x1400c7eaa
mov ecx, esi
call fcn.1400c7800
test eax, eax
jne 0x1400c7bf9
lea rdx, str._bExtract_SYS__Wrong_res_ID___X_n
mov r8d, esi
mov rcx, rbx
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7eaa
lea r8, [rbx + 0x81c]
cmp byte [r8], r14b
je 0x1400c7c54
lea rcx, [rsp + 0x250]
mov edx, 0x200
call fcn.1400f27f0
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
mov rdi, rax
jne 0x1400c7c7b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [rsp + 0x250]
lea rdx, str._bExtract_SYS__GetModuleHandle_on__s_failed__error_d_n
mov r9d, eax
mov rcx, rbx
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7eaa
lea rdx, [rsp + 0x250]
mov r8d, 0x200
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1400c7c17
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x1400c7eaa
movzx edx, si
mov r8d, 0xa
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
test rax, rax
mov rsi, rax
jne 0x1400c7cb4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._bExtract_SYS__FindResource_failed__error_d_n
mov rcx, rbx
mov r8d, eax
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7eaa
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
jne 0x1400c7ce4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._bExtract_SYS__LoadResource_failed__error_d_n
mov rcx, rbx
mov r8d, eax
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7eaa
mov rcx, rax
mov qword [rsp + 0x4a0], rbp
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rsi
mov rcx, rdi
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
mov esi, eax
jne 0x1400c7d29
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._bExtract_SYS__Size_of_resousrce__0__error_d_n
mov rcx, rbx
mov r8d, eax
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7ea2
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov rdi, rax
jne 0x1400c7e60
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [rsp + 0x50]
lea rdx, str._bExtract_SYS__Unable_to_create_the_file__s__error_d__1__n
mov r9d, eax
mov rcx, rbx
call fcn.1400c3fb0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov rdi, rax
jne 0x1400c7e60
lea rdx, [rsp + 0x50]
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r8, [0x140113ae4]
lea rcx, [rsp + 0x50]
mov edx, 0x200
call fcn.14002c340
lea rcx, [rsp + 0x50]
mov r8, r13
mov edx, 0x200
call fcn.14002c340
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov rdi, rax
jne 0x1400c7e4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [rsp + 0x50]
lea rdx, str._bExtract_SYS__Unable_to_create_the_file__s__error_d__2__n
mov r9d, eax
mov rcx, rbx
call fcn.1400c3fb0
xor eax, eax
jmp 0x1400c7ea2
lea rdx, [rbx + 0x61c]
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r9, [rsp + 0x40]
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
mov esi, eax
jne 0x1400c7e97
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._bExtract_SYS__WriteFile_failed__error_d__2__n
mov rcx, rbx
mov r8d, eax
call fcn.1400c3fb0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rbp, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.1400efff0
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x460
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret