Function at 0x1800130e0
Capabilities:
Check if file exists
Extract resource via kernel32 functions
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x18007f080]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rdi, rcx
xor r12d, r12d
mov qword [rsp + 0x40], r12
lea rdx, [0x18007f210]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 7
cmova rdx, qword [0x18007f210]
mov r8, qword [rcx]
mov rcx, qword [rcx + 8]
cmp rcx, qword [0x18007f220]
jne 0x180013173
test rcx, rcx
je 0x180013164
sub r8, rdx
nop dword [rax + rax]
movzx eax, word [rdx + r8]
cmp ax, word [rdx]
jne 0x180013173
add rdx, 2
sub rcx, 1
jne 0x180013150
cmp qword [0x1800858e0], 0
je 0x180013186
jmp 0x180013a5e
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
lea rcx, [0x18007f210]
call fcn.18000aed0
mov eax, dword [0x180085858]
cmp eax, 0x55f0
jae 0x1800131a3
mov rax, qword [0x180085498]
mov rbx, qword [rax + 0xd8]
jmp 0x1800131bf
cmp eax, 0x585d
mov rax, qword [0x180085498]
jae 0x1800131b7
mov rcx, qword [rax + 0x28]
jmp 0x1800131bb
mov rcx, qword [rax + 0x30]
mov rbx, qword [rcx + 0x20]
mov rax, qword [0x1800858e8]
cmp rax, rbx
je 0x1800131f2
test rax, rax
je 0x1800131dc
lea rcx, [0x1800858e8]
call fcn.180008c60
mov qword [0x1800858e8], rbx
test rbx, rbx
je 0x1800131f2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rdi + 8], 0
je 0x18001333b
mov rbx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001333b
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0xf8], rax
dec rax
cmp rax, 0xfffffffffffffffd
seta al
mov rcx, qword [rsp + 0x128]
test al, al
jne 0x180013a8c
mov qword [rsp + 0x98], r12
lea rdx, [rsp + 0x98]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov rcx, qword [rsp + 0x128]
test eax, eax
je 0x180013a91
mov rbx, qword [rsp + 0x98]
mov r8, rbx
xor edx, edx
mov rcx, qword [0x180085850]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
mov rcx, qword [rsp + 0x128]
test rax, rax
je 0x180013a96
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.ucrtbase.dll_memset
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8d, dword [rsp + 0x98]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rsp + 0x128]
test eax, eax
je 0x180013a9c
mov edx, dword [rsp + 0x98]
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rsi
xor edx, edx
mov rcx, qword [0x180085850]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x180013333
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, rbx
jmp 0x1800133fc
lea r8, [0x180067d90]
mov edx, 0x66
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
mov rcx, qword [rsp + 0x128]
test rax, rax
je 0x180013aa2
mov rdx, rbx
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x128]
test rax, rax
je 0x180013aa7
lea rax, [rsp + 0x98]
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x70], 1
mov rdx, rbx
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov rcx, qword [rsp + 0x128]
test eax, eax
je 0x180013aad
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_LockResource]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov rbx, rax
mov rdi, rax
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1800133fc
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov rcx, qword [rsp + 0x128]
test rdi, rdi
je 0x180013ab3
mov rsi, r12
mov qword [rsp + 0xf8], r12
mov eax, dword [0x180085858]
cmp eax, 0x55f0
jae 0x180013435
mov rax, qword [0x180085498]
mov rdi, qword [rax + 0x138]
jmp 0x180013453
cmp eax, 0x585d
mov rax, qword [0x180085498]
jae 0x18001344c
mov rdi, qword [rax + 0xf0]
jmp 0x180013453
mov rdi, qword [rax + 0xf8]
mov rcx, r12
test rdi, rdi
je 0x180013473
mov rsi, rdi
mov qword [rsp + 0xf8], rdi
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, rdi
mov qword [rsp + 0xf0], r12
mov rax, qword [rcx]
lea rdx, [rsp + 0xf0]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8, [0x180047be8]
mov rdx, rbx
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ab9
mov qword [rsp + 0xe8], r12
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
lea r8, [rsp + 0xe8]
xor edx, edx
call qword [rax + 0x68]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ac1
mov qword [rsp + 0xd8], r12
mov rax, qword [rsi]
lea rdx, [rsp + 0xd8]
mov rcx, rsi
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ac9
mov qword [rsp + 0x68], r12
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
movsd qword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [0x180047bf8]
mov rdx, qword [rsp + 0xe8]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ad1
mov qword [rsp + 0xd0], r12
mov rax, qword [rsi]
lea r9, [rsp + 0xd0]
xor r8d, r8d
mov rdx, qword [rsp + 0xd8]
mov rcx, rsi
call qword [rax + 0x90]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ad9
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xc0], r12d
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0xc4]
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013ae0
mov rcx, qword [0x1800858e0]
test rcx, rcx
jne 0x1800137ad
mov rcx, qword [0x1800858e8]
test rcx, rcx
jne 0x1800135ed
mov rdi, r12
mov qword [rsp + 0xb8], r12
mov rcx, r12
jmp 0x180013624
mov qword [rsp + 0xa8], r12
mov rax, qword [rcx]
lea r8, [rsp + 0xa8]
lea rdx, [0x180067500]
call qword [rax]
test eax, eax
js 0x180013ae7
mov rdi, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rdi
mov rcx, rdi
mov rax, r12
mov qword [rsp + 0x98], rax
test rcx, rcx
jne 0x18001363c
mov rbx, r12
mov r14, r12
jmp 0x180013673
mov qword [rsp + 0xb0], r12
mov rax, qword [rcx]
lea r8, [rsp + 0xb0]
lea rdx, [0x1800665a0]
call qword [rax]
test eax, eax
js 0x180013aef
mov rbx, qword [rsp + 0xb0]
mov r14, rbx
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rbx
mov rcx, qword [r14]
mov r15, qword [rcx + 0x28]
test rax, rax
je 0x180013694
lea rcx, [rsp + 0x98]
call fcn.180008da0
mov eax, dword [0x180085858]
cmp eax, 0x55f0
jae 0x1800136b1
mov rax, qword [0x180085498]
mov rdx, qword [rax + 0xe8]
jmp 0x1800136d1
cmp eax, 0x585d
mov rax, qword [0x180085498]
jae 0x1800136c9
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx + 0x18]
jmp 0x1800136d1
mov rdx, qword [rax + 0x38]
mov rdx, qword [rdx + 0x18]
lea r8, [rsp + 0x98]
mov rcx, r14
call r15
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013af7
test rbx, rbx
je 0x180013701
lea rcx, [rsp + 0xa0]
call fcn.180008c60
mov eax, dword [rsp + 0xc0]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mov eax, dword [rsp + 0xc4]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov qword [rsp + 0xa0], r12
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x20], rdx
mov r9d, 1
lea r8d, [r9 + 0x56]
unpcklps xmm0, xmm1
movq rdx, xmm0
call qword [rax + 0x30]
test eax, eax
js 0x180013aff
cmp qword [0x1800858e0], 0
je 0x180013772
lea rcx, [0x1800858e0]
call fcn.180008da0
mov rax, qword [rsp + 0xa0]
mov qword [0x1800858e0], rax
cmp qword [rsp + 0x98], 0
je 0x18001379a
lea rcx, [rsp + 0x98]
call fcn.180008da0
nop
test rdi, rdi
je 0x180013826
lea rcx, [rsp + 0xb8]
jmp 0x180013821
mov edi, dword [rsp + 0xc4]
mov r14d, dword [rsp + 0xc0]
test rcx, rcx
jne 0x1800137c9
mov rcx, r12
mov rbx, r12
jmp 0x1800137f0
mov qword [rsp + 0xb8], r12
mov rax, qword [rcx]
lea r8, [rsp + 0xb8]
lea rdx, [0x180067540]
call qword [rax]
mov rcx, qword [rsp + 0xb8]
mov rbx, rcx
mov qword [rsp + 0xa0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 0x38]
mov rdx, r14
shl rdx, 0x20
or rdx, rdi
call r8
test eax, eax
js 0x180013b07
test rbx, rbx
je 0x180013826
lea rcx, [rsp + 0xa0]
call fcn.180008da0
mov eax, dword [rsp + 0xc4]
mov dword [0x180085618], eax
mov eax, dword [rsp + 0xc0]
mov dword [0x18008561c], eax
mov rcx, qword [0x1800858e0]
test rcx, rcx
jne 0x180013854
mov rbx, r12
mov rcx, r12
jmp 0x180013883
mov qword [rsp + 0xb8], r12
mov rax, qword [rcx]
lea r8, [rsp + 0xb8]
lea rdx, [0x180066590]
call qword [rax]
test eax, eax
js 0x180013b0f
mov rbx, qword [rsp + 0xb8]
mov rcx, rbx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x100], r12
mov qword [rsp + 0xc8], r12
mov rax, qword [rcx]
lea rdx, [rsp + 0x100]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0xc8]
lea r8, [0x180066d18]
xor edx, edx
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013b17
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x178]
mov qword [rsp + 0xe0], r12
mov dword [rsp + 0x48], 0x57
mov dword [rsp + 0x4c], 1
mov dword [rsp + 0x50], 0x42c00000
mov qword [rsp + 0x54], 0x42c00000
mov qword [rsp + 0x60], r12
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsp + 0x88], xmm1
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0x78]
mov rdx, qword [rsp + 0xd0]
call qword [rax + 0x1d0]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 1
movss xmm3, dword [0x18006ebb4]
xor r8d, r8d
mov rdx, qword [rsp + 0xe0]
call qword [rax + 0xd0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x128]
test eax, eax
js 0x180013b1f
cmp qword [rsp + 0xe0], 0
je 0x1800139b0
lea rcx, [rsp + 0xe0]
call fcn.180008c60
nop
cmp qword [rsp + 0xc8], 0
je 0x1800139c9
lea rcx, [rsp + 0xc8]
call fcn.180008c60
nop
test rbx, rbx
je 0x1800139dc
lea rcx, [rsp + 0xb8]
call fcn.180008c60
nop
cmp qword [rsp + 0xd0], 0
je 0x1800139f5
lea rcx, [rsp + 0xd0]
call fcn.180008c60
nop
cmp qword [rsp + 0xd8], 0
je 0x180013a0e
lea rcx, [rsp + 0xd8]
call fcn.180008c60
nop
cmp qword [rsp + 0xe8], 0
je 0x180013a27
lea rcx, [rsp + 0xe8]
call fcn.180008c60
nop
cmp qword [rsp + 0xf0], 0
je 0x180013a40
lea rcx, [rsp + 0xf0]
call fcn.180008c60
nop
test rsi, rsi
je 0x180013a53
lea rcx, [rsp + 0xf8]
call fcn.180008c60
nop
lea rcx, [rsp + 0x40]
call fcn.180008c60
nop
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.18003efb0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
call fcn.18000b570
call fcn.18000b570
call fcn.18000b570
nop
call fcn.18000b570
nop
call fcn.18000b570
call fcn.18000b570
nop
call fcn.18000b570
nop
call fcn.18000b570
nop
mov edx, eax
call fcn.18000baa0
nop
mov edx, eax
call fcn.18000baa0
nop
mov edx, eax
call fcn.18000baa0
nop
mov edx, eax
call fcn.18000baa0
nop
mov edx, eax
call fcn.18000baa0
mov edx, eax
call fcn.18000baa0
mov ecx, eax
call fcn.18000d540
nop
mov ecx, eax
call fcn.18000d540
nop
mov edx, eax
call fcn.18000baa0
nop
mov ecx, eax
call fcn.18000d540
nop
mov ecx, eax
call fcn.18000d540
nop
mov ecx, eax
call fcn.18000d540
nop
mov edx, eax
call fcn.18000baa0
nop
mov edx, eax
call fcn.18000baa0
int3