Function at 0x40cea3
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
lea ebp, [esp - 0x1718]
mov eax, 0x1798
call fcn.0040f5e0
mov eax, dword [0x431920]
xor eax, ebp
mov dword [ebp + 0x1714], eax
fld dword [0x42b880]
push ebx
xor ebx, ebx
fst dword [ebp - 0x6c]
fstp dword [ebp - 0x78]
cmp dword [ebp + 0x1720], ebx
je 0x40cf76
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0040cb4e
push eax
call fcn.0040c9f0
fldz
fcomp dword [ebp - 0x6c]
add esp, 0xc
fnstsw ax
test ah, 5
jp 0x40cf0a
fld dword [ebp - 0x6c]
fdiv qword [0x42bc18]
jmp 0x40cf0c
fld1
push ecx
fstp dword [ebp - 0x68]
fld dword [ebp - 0x68]
push ecx
fstp qword [esp]
push str.scale_factor__f
call fcn.0040c1e2
add esp, 0xc
cmp byte [0x43e914], bl
jne 0x40d24a
push edi
call fcn.004063d4
push eax
lea eax, [ebp - 0x5c]
push str._s_bin_splashscreen.dll
push eax
call fcn.00410061
lea eax, [ebp - 0x5c]
push eax
push str.loading_splashscreen_dll_from__S
call fcn.0040c1e2
add esp, 0x14
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
jne 0x40cf8d
push str.Could_not_load_splashscreen.dll
call fcn.0040c179
pop ecx
jmp 0x40d249
cmp byte [0x43e914], bl
je 0x40d24a
call dword [0x43e90c]
jmp 0x40d24a
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SplashClose
push edi
call esi
push str.SplashInit
push edi
mov dword [0x43e90c], eax
call esi
push str.SplashLoadMemory
push edi
mov dword [0x43e908], eax
call esi
mov dword [0x43e910], eax
cmp dword [0x43e90c], ebx
je 0x40d23d
cmp dword [0x43e908], ebx
je 0x40d23d
cmp eax, ebx
je 0x40d23d
push str.SplashSetScaleFactor
push edi
call esi
mov dword [0x43e904], eax
call dword [0x43e908]
cmp dword [0x43e904], ebx
je 0x40d1f0
fld1
fcomp dword [ebp - 0x68]
fnstsw ax
test ah, 5
jp 0x40d1f0
fld dword [ebp - 0x68]
fmul qword [0x42bb00]
call fcn.00413d30
push 0xffffffffffffff9c
pop ecx
sub ecx, eax
mov eax, ecx
push 0x19
pop ecx
cdq
idiv ecx
mov esi, eax
push esi
push str.idOffset_start__d
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
call fcn.0040c1e2
pop ecx
pop ecx
add esi, 0x2710
movzx eax, si
mov esi, dword [sym.imp.KERNEL32.dll_FindResourceA]
push 0xa
push eax
push ebx
call esi
mov edi, eax
cmp edi, ebx
jne 0x40d0b0
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 0x40
jg 0x40d075
mov eax, dword [ebp - 0x60]
add eax, 0x2710
movzx eax, ax
push 0xa
push eax
push ebx
call esi
mov edi, eax
cmp edi, ebx
je 0x40d055
cmp edi, ebx
jne 0x40d0b0
mov eax, dword [ebp - 0x64]
jmp 0x40d081
mov eax, dword [ebp - 0x60]
dec eax
cmp eax, ebx
mov dword [ebp - 0x60], eax
jle 0x40d09d
add eax, 0x2710
movzx eax, ax
push 0xa
push eax
push ebx
call esi
mov edi, eax
cmp edi, ebx
je 0x40d07e
cmp edi, ebx
jne 0x40d0b0
push 0xa
push 0x2710
push ebx
mov dword [ebp - 0x60], ebx
call esi
mov edi, eax
fild dword [ebp - 0x60]
push edi
push ebx
fmul qword [0x42bad0]
fadd qword [0x42bc10]
fstp qword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push ebx
mov dword [ebp - 0x64], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
fld dword [ebp - 0x68]
fdiv qword [ebp - 0x74]
mov dword [ebp - 0x60], eax
fst qword [ebp - 0x80]
fld qword [0x42bac8]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x40d10a
fld qword [0x42bac0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40d1a0
push ecx
push ecx
fstp qword [esp]
push str.scaling_splash_image__f
call fcn.0040c1e2
fld qword [ebp - 0x80]
add esp, 0xc
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push ecx
push ecx
fstp qword [esp]
call fcn.0040cb5d
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x40d1a2
fld dword [ebp - 0x68]
push ecx
fstp dword [esp]
call dword [0x43e904]
pop ecx
lea eax, [ebp - 0x60]
push eax
push esi
mov dword [ebp - 0x60], ebx
call dword [sym.imp.ole32.dll_GetHGlobalFromStream]
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x60]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalSize]
mov dword [ebp - 0x64], eax
call ebx
push eax
push dword [ebp - 0x64]
push edi
push dword [ebp - 0x60]
call ebx
push eax
push dword [ebp - 0x64]
call dword [0x43e910]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_1__d___p___p___d_
call fcn.0040c1e2
add esp, 0x14
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x40d1d9
fstp st(0)
fld qword [ebp - 0x74]
push ecx
fstp dword [ebp - 0x70]
fld dword [ebp - 0x70]
fstp dword [esp]
call dword [0x43e904]
pop ecx
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push edi
push dword [ebp - 0x60]
push dword [ebp - 0x64]
call dword [0x43e910]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_2__d___p___p___d_
call fcn.0040c1e2
add esp, 0x14
fld dword [ebp - 0x68]
push ecx
push ecx
fstp qword [esp]
push str.setting_scale_factor__f
call fcn.0040c1e2
add esp, 0xc
jmp 0x40d234
push 0xa
push 0x2710
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push edi
push esi
push eax
push edi
call dword [0x43e910]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned_3__d___p___p___d_
call fcn.0040c1e2
add esp, 0x14
mov byte [0x43e914], 1
jmp 0x40d248
push str.Could_not_find_functions_in_splashscreen.dll
call fcn.0040c179
pop ecx
pop esi
pop edi
mov ecx, dword [ebp + 0x1714]
xor ecx, ebp
pop ebx
call fcn.0040f5c8
add ebp, 0x1718
leave
ret