Function at 0x42ed00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x7e6410]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x10], ebx
push edi
lea eax, [esi + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, esi
call fcn.0042ec70
mov eax, dword [esi + 0x20]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x42ed48
push eax
call edi
mov dword [esi + 0x20], 0
mov ecx, esi
call fcn.0042d580
mov ecx, dword [esi + 4]
mov dword [esi + 4], 0
test ecx, ecx
je 0x42ed63
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
je 0x42eff9
mov eax, dword [esi + 0x20]
test eax, eax
je 0x42ed7b
push eax
call edi
mov dword [esi], 0
lea eax, [esp + 0x40]
push eax
push dword [ebx + 4]
call dword [sym.imp.gdiplus.dll_GdipGetImageRawFormat]
test eax, eax
je 0x42ed90
mov dword [ebx + 8], eax
lea ecx, [esp + 0x40]
mov edx, 0x77de58
mov edi, 0xc
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42edba
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42eda0
mov dword [esi + 0x24], 1
jmp 0x42ee35
lea ecx, [esp + 0x40]
mov edx, 0x77de48
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42ede2
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42edc8
mov dword [esi + 0x24], 4
jmp 0x42ee35
lea ecx, [esp + 0x40]
mov edx, 0x77de68
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42ee0a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42edf0
mov dword [esi + 0x24], 2
jmp 0x42ee35
lea ecx, [esp + 0x40]
mov edx, 0x77de38
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42ee30
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42ee18
mov eax, 3
jmp 0x42ee32
xor eax, eax
mov dword [esi + 0x24], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
push dword [ebx + 4]
call dword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x42ee52
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x2c], eax
lea eax, [esp + 0x10]
push eax
push dword [ebx + 4]
mov dword [esp + 0x18], 0
call dword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x42ee76
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x2c]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x10]
push 0
push 0
movdqu xmmword [esp + 0x5c], xmm0
push esi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
push 0
push eax
push 0
mov dword [esi + 0x30], ecx
movdqu xmmword [esp + 0x7c], xmm0
mov dword [esp + 0x68], 0x28
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0x200001
mov dword [esp + 0x78], 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x28]
push eax
push 0xe200b
push 1
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push dword [ebx + 4]
mov dword [esp + 0x30], 0
call dword [sym.imp.gdiplus.dll_GdipBitmapLockBits]
test eax, eax
je 0x42ef0e
mov dword [ebx + 8], eax
mov edi, dword [esi + 0x2c]
xor ebx, ebx
shl edi, 2
cmp dword [esp + 0x2c], ebx
jbe 0x42ef50
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x30]
sub eax, ebx
dec eax
imul eax, edi
push edi
add eax, dword [esp + 0x3c]
push eax
mov eax, dword [esi]
add eax, ecx
push edi
push eax
call fcn.006b6796
mov ecx, dword [esp + 0x20]
inc ebx
add ecx, edi
add esp, 0x10
mov dword [esp + 0x10], ecx
cmp ebx, dword [esp + 0x2c]
jb 0x42ef22
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x28]
push eax
push dword [edi + 4]
call dword [sym.imp.gdiplus.dll_GdipBitmapUnlockBits]
test eax, eax
je 0x42ef69
mov dword [edi + 8], eax
push 0x10
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov ebx, eax
test ebx, ebx
je 0x42efad
mov ecx, dword [esi + 0x30]
lea eax, [esp + 0x10]
mov edx, dword [esi + 0x2c]
push eax
push 0
push 0x26200a
push 0
push ecx
push edx
mov dword [ebx], vtable.Gdiplus::Bitmap.0
mov dword [esp + 0x28], 0
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 4], eax
jmp 0x42efaf
xor ebx, ebx
mov ecx, dword [esi + 4]
mov dword [esi + 4], ebx
test ecx, ecx
je 0x42efbf
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 4]
xor ebx, ebx
mov dword [esp + 0x10], ebx
test eax, eax
je 0x42efde
lea ecx, [esp + 0x10]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov ebx, dword [esp + 0x10]
push dword [esi + 0x30]
push dword [esi + 0x2c]
push 0
push 0
push dword [edi + 4]
push ebx
call dword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
push ebx
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
lea eax, [esi + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006b3266
mov esp, ebp
pop ebp
ret 4