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

Disassembly:
sub esp, 0xac
push ebx
push ebp
push esi
push edi
call fcn.0044feb7
mov esi, eax
xor ebx, ebx
cmp byte [esi + 0x14], bl
je 0x44f9d2
push 0x8183fda9
push 0x6f799353
push ebx
push 0xa
mov ecx, esi
call fcn.00403088
add esp, 0x10
mov byte [esi + 0x14], bl
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push esi
call edi
call fcn.0044ff4e
mov esi, eax
cmp byte [esi + 0x18], bl
je 0x44fa01
push 0xc169d3a1
push 0x93b4331
push ebx
push 0xc
mov ecx, esi
call fcn.00403088
add esp, 0x10
mov byte [esi + 0x18], bl
push esi
call edi
push str.GdiplusStartup
lea ecx, [esp + 0x64]
mov dword [esp + 0x44], eax
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
call fcn.00405036
lea ecx, [esp + 0x60]
call fcn.00450526
push ebx
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x94]
push ecx
call eax
lea ecx, [esp + 0x60]
call fcn.00403a68
push str.GetDC
lea ecx, [esp + 0x64]
call fcn.00405036
lea ecx, [esp + 0x60]
call fcn.00450526
push ebx
call eax
mov esi, eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x38], esi
call fcn.00403a68
push str.CreateCompatibleDC
lea ecx, [esp + 0xa4]
call fcn.00405036
lea ecx, [esp + 0xa0]
call fcn.00450526
push esi
call eax
lea ecx, [esp + 0xa0]
mov ebp, eax
call fcn.00403a68
mov edi, str.GetDeviceCaps
lea ecx, [esp + 0x48]
push edi
call fcn.00405036
lea ecx, [esp + 0x48]
call fcn.00450526
push 8
push esi
call eax
lea ecx, [esp + 0x48]
mov ebx, eax
call fcn.00403a68
push edi
lea ecx, [esp + 0x4c]
call fcn.00405036
lea ecx, [esp + 0x48]
call fcn.00450526
push 0xa
push esi
call eax
lea ecx, [esp + 0x48]
mov edi, eax
call fcn.00403a68
push str.CreateCompatibleBitmap
lea ecx, [esp + 0x4c]
call fcn.00405036
lea ecx, [esp + 0x48]
call fcn.00450526
push edi
push ebx
push esi
call eax
lea ecx, [esp + 0x48]
mov esi, eax
call fcn.00403a68
push str.SelectObject
lea ecx, [esp + 0x18]
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
push esi
push ebp
call eax
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00403a68
push str.BitBlt
lea ecx, [esp + 0x4c]
call fcn.00405036
lea ecx, [esp + 0x48]
call fcn.00450526
push 0xcc0020
push 0
push 0
push dword [esp + 0x44]
push edi
push ebx
xor ebx, ebx
push ebx
push ebx
push ebp
call eax
lea ecx, [esp + 0x48]
call fcn.00403a68
push str.SelectObject
lea ecx, [esp + 0x4c]
call fcn.00405036
lea ecx, [esp + 0x48]
call fcn.00450526
push esi
push ebp
call eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x78], eax
call fcn.00403a68
mov esi, str.DeleteDC
lea ecx, [esp + 0x14]
push esi
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
push ebp
call eax
lea ecx, [esp + 0x14]
call fcn.00403a68
push esi
lea ecx, [esp + 0x18]
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
push dword [esp + 0x38]
call eax
lea ecx, [esp + 0x14]
call fcn.00403a68
push str.CreateStreamOnHGlobal
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], ebx
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
lea ecx, [esp + 0x34]
push ecx
push 1
push ebx
call eax
lea ecx, [esp + 0x14]
call fcn.00403a68
mov edi, dword fs:[0x2c]
movaps xmm0, xmmword [0x498ff0]
mov dword [esp + 0x44], ebx
movups xmmword [esp + 0x14], xmm0
mov edi, dword [edi]
mov dword [esp + 0x24], 0xf898fd0b
mov dword [esp + 0x28], 0x180595f
mov dword [esp + 0x2c], 0x95a7ce00
mov eax, dword [edi + 0x724]
lea esi, [edi + 0x750]
test al, 1
jne 0x44fc99
xorps xmm0, xmm0
mov byte [esi + 0x1c], 1
movlpd qword [esp + 0x38], xmm0
or eax, 1
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x724], eax
mov al, byte [esp + ecx + 0x14]
mov byte [ecx + esi], al
add ecx, 1
adc edx, ebx
jne 0x44fc8e
cmp ecx, 0x1c
jb 0x44fc7b
push 0x48e51e
call fcn.004699af
pop ecx
cmp byte [esi + 0x1c], bl
je 0x44fcb8
push 0x55c91b17
push 0x95f78f4d
push ebx
push 0x1c
mov ecx, esi
call fcn.0043d3c7
add esp, 0x10
mov byte [esi + 0x1c], bl
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
push dword [esp + 0x44]
call ebx
movaps xmm0, xmmword [0x499030]
mov ebp, eax
mov eax, dword [edi + 0x720]
mov dword [esp + 0x70], 0xd4bca969
mov word [esp + 0x74], 0xaba4
movups xmmword [esp + 0x60], xmm0
test al, 1
jne 0x44fd30
xorps xmm0, xmm0
mov byte [edi + 0x74e], 1
movlpd qword [esp + 0x38], xmm0
or eax, 1
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x720], eax
mov al, byte [esp + ecx + 0x60]
mov byte [ecx + edi + 0x738], al
add ecx, 1
adc edx, 0
jne 0x44fd25
cmp ecx, 0x16
jb 0x44fd0d
push 0x48e50b
call fcn.004699af
pop ecx
mov eax, dword fs:[0x2c]
mov esi, dword [eax]
add esi, 0x738
cmp byte [esi + 0x16], 0
je 0x44fd60
push 0x938babc9
push 0xb5d9db1d
push 0
push 0x16
mov ecx, esi
call fcn.0043d3c7
add esp, 0x10
mov byte [esi + 0x16], 0
push esi
push dword [esp + 0x44]
call ebx
mov edi, eax
lea eax, [esp + 0x44]
push eax
push 0
push dword [esp + 0x80]
call ebp
push str.CLSIDFromString
lea ecx, [esp + 0x18]
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
mov ebx, eax
call fcn.0044fffd
mov esi, eax
cmp byte [esi + 0x4e], 0
je 0x44fdbb
push 0x67f7a945
push 0x730d6b67
push 0
push 0x27
mov ecx, esi
call fcn.00403088
add esp, 0x10
mov byte [esi + 0x4e], 0
lea eax, [esp + 0x90]
push eax
push esi
call ebx
lea ecx, [esp + 0x14]
call fcn.00403a68
push 0
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x50]
call edi
and dword [esp + 0x30], 0
lea ecx, [esp + 0x14]
push str.GetHGlobalFromStream
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
lea ecx, [esp + 0x30]
push ecx
push dword [esp + 0x38]
call eax
lea ecx, [esp + 0x14]
call fcn.00403a68
push str.GlobalSize
lea ecx, [esp + 0x18]
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
push dword [esp + 0x30]
call eax
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.00403a68
push ebx
call fcn.00469a20
lea ecx, [esp + 0x18]
mov dword [esp], str.GlobalLock
mov edi, eax
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.00450526
push dword [esp + 0x30]
call eax
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00403a68
push ebx
push esi
push edi
call fcn.0046a650
add esp, 0xc
lea ecx, [esp + 0x14]
push str.GlobalUnlock
call fcn.00405036
lea ecx, [esp + 0x14]
call fcn.0044f95c
push dword [esp + 0x30]
call eax
lea ecx, [esp + 0x14]
call fcn.00403a68
mov ecx, dword [esp + 0x34]
push ecx
mov esi, dword [ecx]
call dword [esi + 8]
mov edx, edi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret