Function at 0x40c7d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
lea ebp, [esp - 0x1700]
mov eax, 0x1780
call fcn.0040ede0
mov eax, dword [0x431920]
xor eax, ebp
mov dword [ebp + 0x16fc], eax
fld dword [0x42b510]
push edi
xor edi, edi
fst dword [ebp - 0x7c]
fstp dword [ebp - 0x80]
cmp dword [ebp + 0x1708], edi
je 0x40c8a4
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0040c7c1
push eax
call fcn.0040c663
fldz
fcomp dword [ebp - 0x7c]
add esp, 0xc
fnstsw ax
test ah, 5
jp 0x40c837
fld dword [ebp - 0x7c]
fdiv qword [0x42b748]
jmp 0x40c839
fld1
push ecx
fstp dword [ebp - 0x78]
fld dword [ebp - 0x78]
push ecx
fstp qword [esp]
push str.scale_factor__f
call fcn.0040be55
add esp, 0xc
cmp byte [0x440084], 0
jne 0x40ca6c
push ebx
call fcn.0040627f
push eax
lea eax, [ebp - 0x74]
push str._s_bin_splashscreen.dll
push eax
call fcn.0040f861
lea eax, [ebp - 0x74]
push eax
push str.loading_splashscreen_dll_from__S
call fcn.0040be55
add esp, 0x14
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
cmp ebx, edi
jne 0x40c8bc
push str.Could_not_load_splashscreen.dll
call fcn.0040bdec
pop ecx
jmp 0x40ca6b
cmp byte [0x440084], 0
je 0x40ca6c
call dword [0x44007c]
jmp 0x40ca6c
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SplashClose
push ebx
call esi
push str.SplashInit
push ebx
mov dword [0x44007c], eax
call esi
push str.SplashLoadMemory
push ebx
mov dword [0x440078], eax
call esi
mov dword [0x440080], eax
cmp dword [0x44007c], edi
je 0x40ca5f
cmp dword [0x440078], edi
je 0x40ca5f
cmp eax, edi
je 0x40ca5f
push str.SplashSetScaleFactor
push ebx
call esi
mov dword [0x440074], eax
call dword [0x440078]
mov esi, dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp dword [0x440074], edi
je 0x40ca16
fld1
fcomp dword [ebp - 0x78]
fnstsw ax
test ah, 5
jp 0x40ca16
fld dword [ebp - 0x78]
fmul qword [0x42b630]
call fcn.00413540
push 0xffffffffffffff9c
pop ecx
sub ecx, eax
mov eax, ecx
push 0x19
pop ecx
cdq
idiv ecx
mov edi, eax
push edi
push str.idOffset_start__d
mov dword [ebp - 0x78], edi
call fcn.0040be55
pop ecx
pop ecx
lea eax, [edi + 0x2710]
movzx eax, ax
push 0xa
push eax
push 0
call esi
mov ebx, eax
test ebx, ebx
jne 0x40c9dd
test edi, edi
jle 0x40c99f
lea eax, [edi + 0x270f]
movzx eax, ax
push 0xa
push eax
push ebx
call esi
mov ebx, eax
test ebx, ebx
je 0x40c9a3
dec edi
mov dword [ebp - 0x78], edi
test ebx, ebx
jne 0x40c9dd
lea eax, [edi + 0x2711]
movzx eax, ax
push 0xa
push eax
push 0
call esi
mov ebx, eax
test ebx, ebx
je 0x40c9bf
inc edi
mov dword [ebp - 0x78], edi
jmp 0x40c9dd
test edi, edi
jle 0x40c9dd
dec edi
lea eax, [edi + 0x2710]
movzx eax, ax
push 0xa
push eax
push 0
mov dword [ebp - 0x78], edi
call esi
mov ebx, eax
test ebx, ebx
je 0x40c9bf
fild dword [ebp - 0x78]
push ecx
push ecx
fmul qword [0x42b600]
fadd qword [0x42b740]
fstp dword [ebp - 0x78]
fld dword [ebp - 0x78]
fstp qword [esp]
push str.setting_scale_factor__f
call fcn.0040be55
fld dword [ebp - 0x78]
pop ecx
pop ecx
fstp dword [esp]
call dword [0x440074]
xor edi, edi
pop ecx
test ebx, ebx
jne 0x40ca22
push 0xa
push 0x2710
push edi
call esi
mov ebx, eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebx
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push esi
push ebx
push eax
push esi
call dword [0x440080]
pop ecx
pop ecx
push eax
push str.splash_load_memory_returned__d___p___p___d_
call fcn.0040be55
add esp, 0x14
mov byte [0x440084], 1
jmp 0x40ca6a
push str.Could_not_find_functions_in_splashscreen.dll
call fcn.0040bdec
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp + 0x16fc]
xor ecx, ebp
pop edi
call fcn.0040edc8
add ebp, 0x1700
leave
ret