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

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [esp + 0x54]
mov ebp, ecx
push edi
push esi
mov ecx, 0x450840
mov dword [esp + 0x28], ebp
call fcn.00428530
push eax
mov ecx, 0x450840
call fcn.00425560
mov edi, eax
push 0
mov ecx, ebp
mov dword [esp + 0x20], edi
call fcn.00411800
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x2c], ebx
je 0x410d53
test edi, edi
je 0x410d53
mov ecx, ebp
call fcn.00411760
push eax
push esi
mov ecx, 0x450840
call fcn.00428770
test eax, eax
je 0x410d53
lea eax, [esp + 0x34]
push esi
push eax
call fcn.004019e0
mov ecx, eax
call fcn.00402040
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
test esi, esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], ecx
je 0x410b8a
cmp esi, 2
je 0x410b8a
mov dword [esp + 0x10], 0
jmp 0x410bb4
mov ecx, ebp
call fcn.00411760
test eax, eax
je 0x410bac
mov ecx, ebp
call fcn.004117b0
neg eax
sbb eax, eax
and eax, 4
add eax, 0xe
mov dword [esp + 0x10], eax
jmp 0x410bb4
mov dword [esp + 0x10], 0xc
cmp esi, 1
je 0x410bc2
cmp esi, 3
je 0x410bc2
xor ebp, ebp
jmp 0x410c20
cmp dword [0x45a678], 1
je 0x410bfb
mov eax, dword [0x465e9c]
test eax, eax
je 0x410bfb
mov ecx, ebp
call fcn.00411760
test eax, eax
je 0x410bf4
mov ecx, ebp
call fcn.004117b0
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 6
add ebp, 0x12
jmp 0x410c20
mov ebp, 0xe
jmp 0x410c20
mov ecx, ebp
call fcn.00411760
test eax, eax
je 0x410c1b
mov ecx, ebp
call fcn.004117b0
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 3
add ebp, 9
jmp 0x410c20
mov ebp, 8
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 0x1b8]
test al, al
jle 0x410d53
movsx eax, al
mov ebx, dword [esp + 0x34]
lea ecx, [eax - 1]
mov eax, ecx
imul eax, dword [esp + 0x10]
add eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
sub ebx, eax
mov eax, ecx
imul eax, ebp
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
sar ecx, 1
sub eax, ecx
cmp esi, 2
mov dword [esp + 0x28], eax
jne 0x410c8c
lea edx, [esp + 0x44]
push esi
push edx
call fcn.004019e0
mov ecx, eax
call fcn.00401f70
mov eax, dword [esp + 0x4c]
add eax, 0xa
cmp eax, ebx
jle 0x410c8c
mov ebx, eax
mov edi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x14], eax
mov cl, byte [edi + 0x1b8]
test cl, cl
jle 0x410d53
mov dword [esp + 0x18], eax
add edi, 0x78
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push 0
neg ecx
sbb ecx, ecx
push 0
and ecx, 0x10
push 0
sub esi, ecx
push 0
push edi
mov ecx, 0x450840
add esi, eax
call fcn.00425840
mov ecx, dword [esp + 0x34]
movsx edx, al
mov eax, dword [esp + 0x3c]
push edx
push eax
push esi
push ebx
push 0
add ecx, 0x24
call dword [sym.imp.2DEngineDll.dll_public:_void___thiscall_IXHandler::_mimage::bitblt_int__int__int__class_IXHandler::_mimage___int__enum_IXHandler::_mimage::Align_Style__bool__struct_tagRECT___struct_IXHandler::_mimage::_mimage_blt_fx_const__]
mov eax, dword [0x4509c8]
test eax, eax
je 0x410d24
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x410d24
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
add edx, 0x32
push edx
mov edx, dword [esp + 0x28]
push 0
push eax
push ecx
push esi
push ebx
lea ecx, [edx + 0x4ee0]
call fcn.00433010
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add ebx, ecx
mov ecx, dword [esp + 0x1c]
add edx, ebp
mov dword [esp + 0x18], edx
inc eax
movsx edx, byte [ecx + 0x1b8]
add edi, 8
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x410cab
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 4