Function at 0x140012a6c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
mov eax, 0x1800
call fcn.140031150
sub rsp, rax
movaps xmmword [rsp + 0x17f0], xmm6
movaps xmmword [rsp + 0x17e0], xmm7
movaps xmmword [rsp + 0x17d0], xmm8
movaps xmmword [rsp + 0x17c0], xmm9
mov rax, qword [0x1400409c0]
xor rax, rsp
mov qword [rsp + 0x17b0], rax
movss xmm0, dword [0x140037a1c]
movss xmm7, dword [0x140037db8]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm0
movaps xmm6, xmm7
test ecx, ecx
je 0x140012ed5
and dword [rsp + 0x30], 0
and dword [rsp + 0x34], 0
mov rcx, qword [rsp + 0x30]
mov edx, 1
call qword [sym.imp.USER32.dll_MonitorFromPoint]
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.140012464
movss xmm5, dword [rsp + 0x38]
comiss xmm5, dword [0x140037db4]
jbe 0x140012b2f
movaps xmm6, xmm5
divss xmm6, dword [0x140037db0]
unpcklps xmm6, xmm6
lea rcx, str.scale_factor__f
cvtps2pd xmm1, xmm6
movq rdx, xmm1
call fcn.140011a6c
cmp byte [0x14004dfc8], 0
jne 0x140012ee4
call fcn.1400085e4
lea rdx, str._s_bin_splashscreen.dll
lea rcx, [rsp + 0x40]
mov r8, rax
call fcn.140017b68
lea rdx, [rsp + 0x40]
lea rcx, str.loading_splashscreen_dll_from__S
call fcn.140011a6c
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
jne 0x140012ba1
lea rcx, str.Could_not_load_splashscreen.dll
call fcn.1400119d8
jmp 0x140012ee4
lea rdx, str.SplashClose
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SplashInit
mov rcx, rbx
mov qword [0x14004dfb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SplashLoadMemory
mov rcx, rbx
mov qword [0x14004dfb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x14004dfb8], 0
mov qword [0x14004dfc0], rax
je 0x140012ec9
cmp qword [0x14004dfb0], 0
je 0x140012ec9
test rax, rax
je 0x140012ec9
lea rdx, str.SplashSetScaleFactor
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14004dfa8], rax
call qword [0x14004dfb0]
cmp qword [0x14004dfa8], 0
je 0x140012e63
comiss xmm6, xmm7
jbe 0x140012e63
movaps xmm0, xmm6
mov ecx, 0xffffff9c
mulss xmm0, dword [0x140037c9c]
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
lea rcx, str.idOffset_start__d
mov r12d, edx
sar r12d, 3
mov eax, r12d
shr eax, 0x1f
add r12d, eax
mov edx, r12d
mov ebx, r12d
call fcn.140011a6c
mov edi, 0x2710
mov ebp, 0xa
lea eax, [rdi + r12]
mov r8, rbp
xor ecx, ecx
movzx edx, ax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
test rax, rax
jne 0x140012d01
inc ebx
cmp ebx, 0x40
jg 0x140012cc2
lea eax, [rdi + rbx]
mov r8, rbp
xor ecx, ecx
movzx edx, ax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
test rax, rax
je 0x140012ca2
test rsi, rsi
jne 0x140012d01
mov ebx, r12d
dec ebx
test ebx, ebx
jle 0x140012ce9
lea eax, [rdi + rbx]
mov r8, rbp
xor ecx, ecx
movzx edx, ax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
test rax, rax
je 0x140012cca
test rsi, rsi
jne 0x140012d01
mov r8, rbp
mov rdx, rdi
xor ecx, ecx
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
movd xmm0, ebx
mov rdx, rsi
xor ecx, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140037c70]
addss xmm0, xmm7
unpcklps xmm0, xmm0
cvtps2pd xmm9, xmm0
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rsi
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
unpcklps xmm6, xmm6
cvtps2pd xmm8, xmm6
movapd xmm7, xmm8
divsd xmm7, xmm9
comisd xmm7, xmmword [0x140037c68]
ja 0x140012d6c
movsd xmm0, qword [0x140037c60]
comisd xmm0, xmm7
jbe 0x140012e1d
movapd xmm1, xmm7
lea rcx, str.scaling_splash_image__f
movq rdx, xmm1
call fcn.140011a6c
movapd xmm0, xmm7
mov r8d, edi
mov rdx, rbx
call fcn.140012620
mov rbp, rax
test rax, rax
je 0x140012e1d
movaps xmm0, xmm6
call qword [0x14004dfa8]
and qword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov rcx, rbp
call qword [sym.imp.ole32.dll_GetHGlobalFromStream]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, qword [rsp + 0x30]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, qword [rsp + 0x30]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, rdi
mov rdx, rax
call qword [0x14004dfc0]
lea rcx, str.splash_load_memory_returned_1__d___p___p___d_
mov r9, rdi
mov r8, rsi
mov edx, eax
mov qword [rsp + 0x20], rbx
call fcn.140011a6c
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov r11, qword [rbp]
mov rcx, rbp
call qword [r11 + 0x10]
jmp 0x140012e4b
cvtsd2ss xmm0, xmm9
call qword [0x14004dfa8]
mov edx, edi
mov rcx, rbx
call qword [0x14004dfc0]
lea rcx, str.splash_load_memory_returned_2__d___p___p___d_
mov r9, rbx
mov r8, rsi
mov edx, eax
mov dword [rsp + 0x20], edi
call fcn.140011a6c
movapd xmm1, xmm8
lea rcx, str.setting_scale_factor__f
movq rdx, xmm1
call fcn.140011a6c
jmp 0x140012ec0
mov edx, 0x2710
mov r8d, 0xa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rsi
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rcx, rdi
mov edx, eax
mov ebx, eax
call qword [0x14004dfc0]
lea rcx, str.splash_load_memory_returned_3__d___p___p___d_
mov r9, rdi
mov r8, rsi
mov edx, eax
mov dword [rsp + 0x20], ebx
call fcn.140011a6c
mov byte [0x14004dfc8], 1
jmp 0x140012ee4
lea rcx, str.Could_not_find_functions_in_splashscreen.dll
jmp 0x140012b97
cmp byte [0x14004dfc8], 0
je 0x140012ee4
call qword [0x14004dfb8]
mov rcx, qword [rsp + 0x17b0]
xor rcx, rsp
call fcn.140016e60
lea r11, [rsp + 0x1800]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r12
ret