Function at 0x401d25
Capabilities:
Extract resource via kernel32 functions
Get file size
Read file on windows

Disassembly:
push 0x2cc
mov eax, 0x45477a
call fcn.004421bd
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x2d8], ecx
cmp esi, ebx
je 0x401e0e
movzx eax, word [edi]
push eax
call fcn.00443b36
pop ecx
test eax, eax
je 0x401e0e
push 0xa
lea eax, [ebp - 0x2c8]
push eax
push edi
mov dword [ebp - 0x2c8], ebx
call fcn.00443a2a
add esp, 0xc
movzx eax, ax
push esi
push eax
call fcn.00417583
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
cmp edi, ebx
jne 0x401d92
xor eax, eax
jmp 0x401ff0
push edi
call fcn.00417583
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x2d0], eax
push edi
cmp eax, ebx
jne 0x401db2
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x401d8b
call fcn.00417583
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x2cc], eax
cmp eax, 6
jae 0x401dcc
push edi
jmp 0x401daa
push eax
call fcn.00441c01
mov esi, eax
pop ecx
cmp esi, ebx
je 0x401dc9
push dword [ebp - 0x2d0]
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp eax, ebx
jne 0x401df2
push esi
call fcn.004422da
pop ecx
jmp 0x401dc9
push dword [ebp - 0x2cc]
push eax
push esi
call fcn.004418a0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x401fd2
call fcn.00417592
push eax
lea ecx, [ebp - 0x94]
call fcn.00416e7c
mov dword [ebp - 4], ebx
call fcn.00417598
mov ecx, eax
call fcn.00416bc0
test al, al
je 0x401ed0
push edi
lea ecx, [ebp - 0x94]
call fcn.00416c59
push ebx
push 0x8000080
push 3
push ebx
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x2d0], ebx
call fcn.00416aac
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x401e85
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00416a92
jmp 0x401d8b
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x2cc], eax
cmp eax, 6
jae 0x401ea1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401e71
push eax
call fcn.00441c01
mov esi, eax
pop ecx
cmp esi, ebx
je 0x401e98
push ebx
lea eax, [ebp - 0x2d0]
push eax
push dword [ebp - 0x2cc]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401fc3
call fcn.00417598
push eax
lea ecx, [ebp - 0x94]
call fcn.00416c3c
call fcn.0041759e
test al, al
je 0x401ef1
call fcn.004175a4
jmp 0x401f08
push 2
push ebx
lea ecx, [ebp - 0x94]
call fcn.00416aac
push eax
call fcn.0041134c
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x2c8], eax
cmp esi, ebx
je 0x401e71
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2d4]
push eax
push 1
push edi
push esi
call fcn.0040fa64
add esp, 0x14
test eax, eax
je 0x401f4f
call fcn.0041759e
test al, al
jne 0x401e71
push esi
call fcn.004113e2
pop ecx
jmp 0x401e71
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x2cc], edi
cmp edi, 6
jb 0x401f36
push edi
call fcn.00441c01
mov esi, eax
pop ecx
cmp esi, ebx
jne 0x401f82
call fcn.0041759e
test al, al
jne 0x401e71
push dword [ebp - 0x2c8]
jmp 0x401f44
push 3
push edi
push esi
push dword [ebp - 0x2d4]
push dword [ebp - 0x2c8]
call fcn.004113aa
add esp, 0x14
cmp eax, ebx
je 0x401fae
cmp eax, 0x600
je 0x401fae
push esi
call fcn.004422da
pop ecx
jmp 0x401f6d
call fcn.0041759e
test al, al
jne 0x401fc3
push dword [ebp - 0x2c8]
call fcn.004113e2
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00416a92
mov ecx, dword [ebp - 0x2d8]
push ebx
push dword [ebp - 0x2cc]
push esi
call fcn.00401962
push esi
mov edi, eax
call fcn.004422da
pop ecx
mov eax, edi
call fcn.00442240
ret 0xc