Function at 0x14004b750
Capabilities:
Check if file exists
Create directory
Extract resource via kernel32 functions
Get common file path
Get file attributes
Write file on windows

Disassembly:
push rdi
push r14
push r15
mov eax, 0x2070
call fcn.14029e430
sub rsp, rax
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x2090], rbx
mov qword [rsp + 0x2098], rbp
mov qword [rsp + 0x20a0], rsi
mov rax, qword [0x1403d88e8]
xor rax, rsp
mov qword [rsp + 0x2060], rax
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x14004b7bc
lea r8, str.Customized.cpp
mov edx, 0x7fb
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004bb03
test dword [rax + 0xa8], 0x20000
jne 0x14004b7e5
lea r8, str.Customized.cpp
mov edx, 0x7fc
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004bb03
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14004bb30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rbx, [0x140345b70]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140015a40
or rdi, 0xffffffffffffffff
test al, al
jne 0x14004b83f
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x14004b824
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400105e0
nop
lea rdx, [rsp + 0x60]
mov ecx, 0x1000
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rsp + 0x60]
mov rax, rdi
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x14004b860
xor r15d, r15d
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14004b890
lea rax, [rax*2 - 2]
cmp rax, 0x2000
jae 0x14004bb3b
mov word [rsp + rax + 0x60], r15w
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14004b8ad
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea r8, [0x14034b708]
mov edx, 0x1000
lea rcx, [rsp + 0x60]
call fcn.1402a76a4
xor r9d, r9d
lea r8, str.ADRExtracted
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
mov ebx, eax
mov ebp, 1
test eax, eax
jne 0x14004b908
mov r9d, ebp
lea r8, str.ADRExtracted
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
mov esi, r15d
test ebx, ebx
sete sil
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
cmove esi, ebp
lea rcx, [rsp + 0x60]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], r15w
jne 0x14004b930
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.1400105e0
lea rdx, [0x14034b748]
mov rax, rdi
inc rax
cmp word [rdx + rax*2], r15w
jne 0x14004b956
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.14001cfc0
mov edx, ebp
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140081d70
test esi, esi
je 0x14004baaf
call fcn.1401098dc
lea r8, str.Binary
mov edx, 0x143
mov rcx, qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
test rax, rax
jne 0x14004b9c4
lea r8, str.Customized.cpp
mov edx, 0x826
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004baec
call fcn.1401098dc
mov rdx, rsi
mov rcx, qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebp, eax
test eax, eax
jne 0x14004b9f9
lea r8, str.Customized.cpp
mov edx, 0x82a
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004baec
call fcn.1401098dc
mov rdx, rsi
mov rcx, qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
test rax, rax
jne 0x14004ba39
lea r8, str.Customized.cpp
mov edx, 0x82e
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004baec
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 2]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14004ba88
lea r8, str.Customized.cpp
mov edx, 0x839
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004baec
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x48]
mov r8d, ebp
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x60]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], r15w
jne 0x14004bac0
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.1400105e0
xor edx, edx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140081d70
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14004bb03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x2060]
xor rcx, rsp
call fcn.14029d880
lea r11, [rsp + 0x2070]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov ecx, 0x80004005
call fcn.14000de90
nop
call fcn.14029dc94
nop
int3