Function at 0x410320
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, 0x179c
call fcn.00413d20
mov eax, dword [0x455834]
xor eax, esp
mov dword [esp + 0x1798], eax
cmp dword [esp + 0x17a0], 0
movss xmm0, dword [0x444b34]
push esi
push edi
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 0x18], 0xbf800000
movss dword [esp + 8], xmm0
je 0x4106f2
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0040ff47
push eax
call fcn.0040fdc6
movss xmm0, dword [esp + 0x18]
add esp, 0xc
comiss xmm0, dword [0x444b2c]
jbe 0x41039d
divss xmm0, dword [0x444b48]
movss dword [esp + 8], xmm0
jmp 0x4103a3
movss xmm0, dword [esp + 8]
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push str.scale_factor__f
movsd qword [esp + 0x34], xmm0
call fcn.0040f3f5
add esp, 0xc
cmp byte [0x46236c], 0
jne 0x410701
call fcn.00408696
push eax
lea eax, [esp + 0x34]
push str._s_bin_splashscreen.dll
push eax
call fcn.00403394
lea eax, [esp + 0x3c]
push eax
push str.loading_splashscreen_dll_from__S
call fcn.0040f3f5
add esp, 0x14
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
jne 0x41041d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_load_splashscreen.dll__d
call fcn.0040f0d0
pop ecx
pop ecx
jmp 0x410701
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SplashClose
push esi
call edi
push str.SplashInit
push esi
mov dword [0x462378], eax
call edi
push str.SplashLoadMemory
push esi
mov dword [0x462374], eax
call edi
cmp dword [0x462378], 0
mov dword [0x462370], eax
je 0x4106e3
cmp dword [0x462374], 0
je 0x4106e3
test eax, eax
je 0x4106e3
push ebx
push str.SplashSetScaleFactor
push esi
call edi
mov dword [0x46237c], eax
call dword [0x462374]
cmp dword [0x46237c], 0
je 0x410693
movss xmm0, dword [esp + 0xc]
comiss xmm0, dword [0x444b34]
jbe 0x410693
mulss xmm0, dword [0x444b54]
push ebp
push 0xffffffffffffff9c
pop eax
cvttss2si ecx, xmm0
push 0x19
sub eax, ecx
pop ecx
cdq
idiv ecx
mov ebx, eax
push ebx
push str.idOffset_start__d
mov dword [esp + 0x20], ebx
mov esi, ebx
call fcn.0040f3f5
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
pop ecx
pop ecx
lea ecx, [ebx + 0x2710]
xor ebx, ebx
push 0xa
movzx ecx, cx
push ecx
jmp 0x4104f5
inc esi
cmp esi, 0x40
jg 0x410500
lea eax, [esi + 0x2710]
push 0xa
movzx eax, ax
push eax
push ebx
call edi
mov ebp, eax
test ebp, ebp
je 0x4104e3
jmp 0x41052c
mov esi, dword [esp + 0x18]
dec esi
push 0xa
test esi, esi
jle 0x410520
lea eax, [esi + 0x2710]
movzx eax, ax
push eax
push ebx
call edi
mov ebp, eax
test ebp, ebp
je 0x410504
jmp 0x41052c
push 0x2710
push ebx
mov esi, ebx
call edi
mov ebp, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ebp
push ebx
mulss xmm0, dword [0x444b30]
addss xmm0, dword [0x444b34]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebp
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
movsd xmm1, qword [esp + 0x30]
mov esi, eax
divsd xmm1, qword [esp + 0x28]
mov dword [esp + 0x24], esi
comisd xmm1, xmmword [0x444b40]
movsd qword [esp + 0x18], xmm1
ja 0x410599
movsd xmm0, qword [0x444b38]
comisd xmm0, xmm1
jbe 0x410644
push ecx
push ecx
movsd qword [esp], xmm1
push str.scaling_splash_image__f
call fcn.0040f3f5
movsd xmm0, qword [esp + 0x24]
add esp, 0xc
push esi
push edi
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.0040ff54
mov esi, eax
add esp, 0x10
mov dword [esp + 0x18], esi
test esi, esi
je 0x410640
movss xmm0, dword [esp + 0x10]
push ecx
movss dword [esp], xmm0
call dword [0x46237c]
pop ecx
lea eax, [esp + 0x10]
mov dword [esp + 0x10], ebx
push eax
push esi
call dword [sym.imp.ole32.dll_GetHGlobalFromStream]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalSize]
mov edi, eax
call esi
push eax
push edi
push ebp
push dword [esp + 0x1c]
call esi
push eax
push edi
call dword [0x462370]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_1__d___p___p___d_
call fcn.0040f3f5
add esp, 0x14
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x410676
mov esi, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x28]
cvtpd2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
call dword [0x46237c]
pop ecx
push esi
push edi
push ebp
push esi
push edi
call dword [0x462370]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_2__d___p___p___d_
call fcn.0040f3f5
add esp, 0x14
movsd xmm0, qword [esp + 0x30]
push ecx
push ecx
movsd qword [esp], xmm0
push str.setting_scale_factor__f
call fcn.0040f3f5
add esp, 0xc
pop ebp
jmp 0x4106d9
push 0xa
push 0x2710
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push esi
push edi
push eax
push esi
call dword [0x462370]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_3__d___p___p___d_
call fcn.0040f3f5
add esp, 0x14
mov byte [0x46236c], 1
pop ebx
jmp 0x410701
push str.Could_not_find_functions_in_splashscreen.dll
call fcn.0040f0d0
jmp 0x410417
cmp byte [0x46236c], 0
je 0x410701
call dword [0x462378]
mov ecx, dword [esp + 0x17a0]
pop edi
pop esi
xor ecx, esp
call fcn.00413c4b
add esp, 0x179c
ret