Function at 0x10008db0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
push esi
push edi
cmp dword [esp + 0x38], ebx
je 0x10008f8c
cmp dword [esp + 0x3c], ebx
je 0x10008f8c
push 0x10030508
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
cmp esi, ebx
je 0x10008f8c
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
cmp edi, ebx
je 0x10008f8c
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x10008f8c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
cmp esi, ebx
je 0x10008f8c
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebp, eax
cmp ebp, ebx
jne 0x10008e3a
mov eax, 0x8007000e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push edi
push esi
push ebp
call fcn.1001e9b0
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push 1
push ebp
mov dword [esp + 0x1c], ebx
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov esi, eax
cmp esi, ebx
jge 0x10008e76
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x10008f6c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x10008f6c
push 0x10
xor ebp, ebp
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
cmp esi, ebx
je 0x10008eaa
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push eax
mov dword [esi], vtable.Gdiplus::Bitmap.0
mov dword [esp + 0x1c], ebx
call sub.gdiplus.dll_GdipCreateBitmapFromStream
mov edx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
jmp 0x10008eac
xor esi, esi
mov eax, esi
mov dword [esp + 0x14], eax
cmp esi, ebx
jne 0x10008f3f
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
test eax, eax
je 0x10008f05
lea esi, [esp + 0x14]
call fcn.10008550
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x10008efb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push 0x10
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
cmp esi, ebx
je 0x10008f37
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push eax
mov dword [esi], vtable.Gdiplus::Bitmap.0
mov dword [esp + 0x1c], ebx
call sub.gdiplus.dll_GdipCreateBitmapFromStream
mov edx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
jmp 0x10008f39
xor esi, esi
mov eax, esi
cmp esi, ebx
je 0x10008f57
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], ebx
mov dword [edx], eax
xor esi, esi
jmp 0x10008f6c
mov eax, dword [esp + 0x10]
mov esi, 0x80004005
cmp eax, ebx
je 0x10008f6c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp ebp, ebx
je 0x10008f82
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
pop edi
pop esi
pop ebp
mov eax, 0x80070057
pop ebx
add esp, 0x20
ret