Function at 0x4222d9
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x38
mov eax, 0x500269
call fcn.004a52cf
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
push 0x518ddc
push dword [ebp + 0x10]
xor esi, esi
push dword [ebp + 0xc]
inc esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x422324
mov dword [ebx], edi
mov ecx, edi
mov dword [ebx + 4], edi
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0
jmp 0x422485
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x14], eax
cmp eax, edi
jne 0x422347
mov ecx, edi
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], cl
jmp 0x422485
push dword [ebp - 0x18]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x18], eax
cmp eax, edi
je 0x422335
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov byte [ebp - 4], 2
push dword [ebp - 0x14]
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
call fcn.0042251b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
cmp eax, edi
je 0x422458
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea ecx, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call fcn.00422589
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
cmp eax, edi
je 0x422444
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
call fcn.004a2880
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push edi
push dword [ebp - 0x24]
mov dword [ebp - 0x14], edi
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x422444
mov eax, dword [ebp - 0x14]
push 0x10
mov dword [ebp - 0x1c], eax
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov esi, eax
cmp esi, edi
je 0x42242e
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x1c]
mov dword [esi], vtable.Gdiplus::Bitmap.0
mov dword [ebp - 0x18], edi
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromStream]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 4], eax
mov edi, esi
lea esi, [ebp - 0x2c]
call fcn.004224ae
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
xor edi, edi
inc esi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x20], edi
je 0x422458
mov esi, dword [ebp - 0x20]
call fcn.00422246
xor esi, esi
inc esi
mov eax, dword [ebp - 0x2c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x30]
mov ecx, edi
mov dword [ebp - 0x28], ecx
mov dword [ebx + 4], eax
mov dword [ebp - 0x2c], edi
cmp esi, edi
je 0x42247e
call fcn.00422246
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x28]
cmp ecx, edi
je 0x42248e
call fcn.00402ea5
mov eax, ebx
call fcn.004a53a7
ret