Function at 0x4e0264
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
mov ebx, esp
add esp, 0xffffffb8
push edi
push esi
push ebp
xor edi, edi
mov dword [ebx - 0x44], edi
mov dword [ebx - 0x48], edi
mov dword [ebx - 0x40], edi
mov dword [ebx - 0x20], edi
mov dword [ebx - 0x24], edi
mov dword [ebx - 0x28], edi
mov dword [ebx - 0xc], ecx
mov dword [ebx - 8], edx
mov dword [ebx - 4], eax
mov eax, dword [ebx - 4]
call fcn.00404ce8
mov eax, dword [ebx - 8]
call fcn.00404ce8
xor eax, eax
push ebx
push 0x4e04f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx - 0xc]
call fcn.00404848
xor eax, eax
push ebx
push 0x4e047e
push dword fs:[eax]
mov dword fs:[eax], esp
push 2
push 0
mov eax, dword [ebx - 4]
call fcn.00404cf8
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [ebx - 0x30], eax
cmp dword [ebx - 0x30], 0
je 0x4e0474
lea eax, [ebx - 0x14]
mov dword [ebx - 0x14], 0xffffffff
push eax
push 0x4e0250
push 0x10
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_EnumResourceNamesA
cmp dword [ebx - 0x14], 0xffffffff
jne 0x4e031c
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_FreeLibrary_1
mov eax, dword [ebx - 0xc]
call fcn.00404848
pop edx
xor eax, eax
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e04b2
push 0x10
mov eax, dword [ebx - 0x14]
push eax
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_FindResourceA
mov edi, eax
mov dword [ebx - 0x14], edi
push edi
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_SizeofResource
mov dword [ebx - 0x1c], eax
mov eax, dword [ebx - 0x14]
push eax
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_LoadResource
mov dword [ebx - 0x14], eax
cmp dword [ebx - 0x1c], 0
jbe 0x4e0474
mov eax, dword [ebx - 0x1c]
call fcn.004027d8
mov dword [ebx - 0x34], eax
mov edx, dword [ebx - 0x14]
mov eax, dword [ebx - 0x34]
mov ecx, dword [ebx - 0x1c]
call fcn.00407f24
push ebx
xor eax, eax
push 0x4e046d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx - 0x1c]
push eax
lea eax, [ebx - 0x18]
push eax
push 0x4e0508
mov eax, dword [ebx - 0x34]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4e03df
lea ecx, [ebx - 0x24]
push ecx
mov eax, dword [ebx - 0x18]
mov eax, dword [eax]
call fcn.00407f18
movzx eax, ax
mov dword [ebx - 0x3c], eax
mov byte [ebx - 0x38], 0
lea edx, [ebx - 0x3c]
xor ecx, ecx
mov eax, 0x4e052c
call fcn.0040a86c
lea edx, [ebx - 0x20]
push edx
mov edx, dword [ebx - 0x18]
movzx edx, word [edx]
mov dword [ebx - 0x3c], edx
mov byte [ebx - 0x38], 0
lea edx, [ebx - 0x3c]
xor ecx, ecx
mov eax, 0x4e052c
call fcn.0040a86c
push 0x4e053c
push dword [ebx - 0x20]
push dword [ebx - 0x24]
push 0x4e0554
lea eax, [ebx - 0x40]
mov edx, 4
call fcn.00404bc0
mov edx, dword [ebx - 0x40]
lea eax, [ebx - 0x28]
call fcn.004050d0
xor eax, eax
mov dword [ebx - 0x18], eax
lea eax, [ebx - 0x10]
push eax
lea edx, [ebx - 0x2c]
push edx
lea eax, [ebx - 0x48]
mov edx, dword [ebx - 8]
call fcn.004050d0
mov ecx, dword [ebx - 0x48]
lea eax, [ebx - 0x44]
mov edx, dword [ebx - 0x28]
call fcn.0040515c
mov eax, dword [ebx - 0x44]
call fcn.004050e0
push eax
mov eax, dword [ebx - 0x34]
push eax
call sub.version.dll_VerQueryValueW
or eax, eax
je 0x4e044e
mov edx, dword [ebx - 0x2c]
mov edx, dword [ebx - 0xc]
call fcn.00404a68
pop edx
pop eax
xor eax, eax
pop ecx
mov dword fs:[eax], edx
push 0x4e0474
mov eax, dword [ebx - 0x34]
call fcn.004027f8
mov eax, dword [ebx - 0x30]
push eax
call sub.kernel32.dll_FreeLibrary_1
ret
pop ecx
pop edx
pop eax
xor edx, edx
mov dword fs:[edx], ecx
jmp 0x4e049c
mov ecx, dword [ebx - 0xc]
cmp dword [ecx], 0
jne 0x4e04b2
mov edx, dword [ebx - 8]
mov eax, dword [ebx - 4]
mov ecx, dword [ebx - 0xc]
call fcn.004dff28
pop eax
pop ecx
xor edx, edx
pop ecx
mov dword fs:[edx], eax
push 0x4e04fe
lea eax, [ebx - 0x48]
mov edx, 2
call fcn.00404f84
lea eax, [ebx - 0x40]
call fcn.00404848
lea eax, [ebx - 0x28]
call fcn.00404f6c
lea eax, [ebx - 0x24]
mov edx, 2
call fcn.0040486c
mov edx, 2
lea eax, [ebx - 8]
call fcn.0040486c
ret