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

Disassembly:
sub esp, 0x74
push ebx
mov ebx, dword [esp + 0x80]
push ebp
push esi
push edi
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push edi
mov dword [esp + 0x14], edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
jne 0x44be9a
push edi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret
mov eax, dword [0x870ddc]
mov ecx, dword [0x473e30]
mov edx, dword [0x870de0]
lea edi, [esp + 0x30]
lea ebp, [ecx + eax]
mov eax, dword [0x473e34]
add edx, eax
mov ecx, 0xa
xor eax, eax
mov dword [esp + 0x18], edx
rep stosd dword es:[edi], eax
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x3c], edx
push eax
push ecx
lea edx, [esp + 0x3c]
push eax
push edx
push esi
mov dword [esp + 0x48], 0x28
mov dword [esp + 0x4c], ebp
mov word [esp + 0x54], 1
mov word [esp + 0x56], 0x18
mov dword [esp + 0x58], eax
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov ebx, eax
xor edi, edi
cmp ebx, edi
jne 0x44bf28
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret
push ebx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp eax, edi
mov dword [esp + 0x14], eax
jne 0x44bf63
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
push edx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret
mov ecx, dword [esp + 0x18]
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, eax
lea edx, [esp + 0x20]
push edi
push edx
push esi
call dword [sym.imp.USER32.dll_FillRect]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
mov dword [0x870e20], esi
push edi
push edi
push edi
mov dword [0x870e1c], edi
call fcn.00434ff0
mov al, byte [0xba0620]
add esp, 0xc
cmp al, 1
mov dword [0x870e20], edi
je 0x44bfd2
cmp al, 4
je 0x44bfd2
call fcn.00455360
test eax, eax
jne 0x44bfd2
call fcn.00455350
test eax, eax
je 0x44bffb
push esi
mov dword [0x473e38], 0x3f800000
mov dword [0x473e3c], 0x3f800000
mov dword [0xa7780c], edi
mov dword [0xa77810], edi
call fcn.00455600
add esp, 4
call dword [sym.imp.GDI32.dll_GdiFlush]
mov eax, dword [esp + 0x14]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp + ebp*2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x44c127
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
add eax, 7
cdq
and edx, 7
mov dword [esp + 0x58], 0x28
add eax, edx
xor edx, edx
sar eax, 3
imul eax, ecx
mov dword [esp + 0x60], ecx
mov word [esp + 0x64], 1
lea eax, [eax + eax*2]
mov word [esp + 0x66], 0x18
shl eax, 3
mov dword [esp + 0x6c], eax
lea eax, [ecx - 1]
cmp eax, edx
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x14], eax
jl 0x44c0eb
jmp 0x44c090
mov eax, dword [esp + 0x14]
xor edx, edx
lea ecx, [esp + 0x58]
push edx
push ecx
push edi
push 1
push eax
push ebx
push esi
call dword [sym.imp.GDI32.dll_GetDIBits]
test ebp, ebp
mov eax, edi
jle 0x44c0c4
mov dword [esp + 0x18], ebp
mov cl, byte [eax]
mov dl, byte [eax + 2]
mov byte [eax + 2], cl
mov ecx, dword [esp + 0x18]
mov byte [eax], dl
add eax, 3
dec ecx
mov dword [esp + 0x18], ecx
jne 0x44c0ac
lea eax, [ebp + ebp*2]
push eax
mov eax, dword [esp + 0x8c]
push edi
push eax
call dword [sym.imp.KERNEL32.dll__lwrite]
lea ecx, [ebp + ebp*2]
cmp eax, ecx
jne 0x44c120
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x14], eax
jns 0x44c08a
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x74
ret
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x8c]
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret