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

Disassembly:
push 0xffffffffffffffff
push 0x43c21c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
mov eax, dword [0x44a9c0]
push ebx
push ebp
mov ebx, ecx
push esi
push edi
test eax, eax
mov dword [esp + 0x54], ebx
je 0x41144f
mov eax, dword [0x44a960]
test eax, eax
movsx eax, byte [0x44a9d8]
je 0x410ae7
add eax, 2
jmp 0x410ae8
inc eax
cdq
mov ecx, 3
idiv ecx
mov ecx, 0x44a7e8
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x1c]
push edx
call fcn.0041db50
mov esi, eax
test esi, esi
mov dword [esp + 0x18], esi
je 0x41144f
mov byte [esp + 0x13], 1
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x13]
push eax
push ecx
mov ecx, 0x44a7e8
call fcn.00421460
mov cl, byte [esp + 0x13]
mov dword [esp + 0x28], eax
test cl, cl
jne 0x410b40
test eax, eax
je 0x410b40
add eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [0x455304]
test eax, eax
je 0x410b69
movsx edx, byte [esi + 0x28]
push edx
mov ecx, 0x44a7e8
call fcn.00421690
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [0x455304]
push eax
call fcn.0042ece0
mov eax, dword [ebx + 0xb8]
lea edx, [esp + 0x58]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ebp, [eax + 5]
sub esi, eax
mov dword [esp + 0x50], ebp
lea ebp, [ecx + 0xa]
mov dword [esp + 0x48], ebp
mov edi, ecx
lea ebp, [eax - 0x14]
lea eax, [edx + ecx]
sub edi, edx
mov ecx, ebx
cdq
sub eax, edx
mov dword [esp + 0x14], ebp
sar eax, 1
mov dword [esp + 0x20], eax
call fcn.00412120
test eax, eax
je 0x410bc4
sub ebp, dword [eax + 0xc]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x47c]
test eax, eax
je 0x410c37
movsx ecx, byte [ebp + 0x28]
push ecx
mov ecx, 0x44a7e8
call fcn.00421690
mov ecx, dword [0x455304]
test ecx, ecx
je 0x410c37
lea edx, [esp + 0x38]
push edx
push eax
call fcn.0042ece0
test al, al
je 0x410c37
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.00413eb0
test al, al
je 0x410c37
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
lea ecx, [ebp + 0x5ac]
add edx, 0xffffffe2
push ecx
mov ecx, dword [esp + 0x44]
add eax, ecx
push edx
cdq
sub eax, edx
lea edx, [ebx + 0x28]
sar eax, 1
sub eax, 0xe
mov ecx, ebx
push eax
push edx
call fcn.00413f90
movsx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x38]
add eax, 4
push eax
mov eax, dword [esp + 0x40]
push 0
push edi
push esi
push eax
push ecx
lea ecx, [ebx + 0x44f0]
call fcn.00429ea0
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::CString_3
mov al, byte [esp + 0x13]
mov dword [esp + 0x190], 0
test al, al
jne 0x410c8d
mov eax, dword [esp + 0x28]
test eax, eax
jg 0x410c8d
lea edx, [ebp + 6]
lea eax, [esp + 0x30]
push edx
push 0x448068
push eax
jmp 0x410c9b
lea ecx, [ebp + 6]
lea edx, [esp + 0x30]
push ecx
push str.____s
push edx
call sub.MFC42.DLL_CString::Format
mov edi, dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::get_logfont_void_]
add esp, 0xc
lea esi, [ebx + 0x28]
lea eax, [esp + 0x140]
push eax
mov ecx, esi
call edi
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call edi
lea edx, [esp + 0xf8]
mov ecx, esi
push edx
call edi
mov edi, dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
lea eax, [esp + 0x68]
lea ecx, [esp + 0xb0]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0xac], 0xffffff
mov dword [esp + 0x13c], 0xfff000
call edi
mov edx, dword [esp + 0x30]
cmp dword [edx - 8], 0xe
jle 0x410d47
push 0xe
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00436aa0
lea ecx, [esp + 0x2c]
push ecx
call fcn.00421700
add esp, 0xc
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x194], 1
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x34]
lea edx, [esp + 0x34]
push edx
push eax
push 0x44aa2c
mov byte [esp + 0x19c], 2
call fcn.00437c3c
add esp, 0xc
lea ecx, [esp + 0x34]
lea edx, [esp + 0x24]
push ecx
push 0x448960
push edx
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x194], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], 1
jne 0x410dbe
lea eax, [esp + 0xf8]
lea ecx, [esp + 0xb0]
push eax
push ecx
jmp 0x410dcb
lea edx, [esp + 0x68]
lea eax, [esp + 0xb0]
push edx
push eax
mov ecx, esi
call edi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], 0
lea edx, [esp + 0x2c]
mov ebp, dword [sym.imp.2DEngineDll.dll_public:_void___thiscall_IXHandler::_mimage::text_int_const___int_const___char_const___int_const___int_const__]
mov ecx, dword [eax - 8]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x24]
push ecx
push edx
push eax
lea eax, [esp + 0x54]
lea ecx, [esp + 0x5c]
push eax
push ecx
mov ecx, esi
call ebp
lea edx, [esp + 0x68]
lea eax, [esp + 0xb0]
push edx
push eax
mov ecx, esi
call edi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], 0
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x4c]
add ecx, 0x13
lea edx, [esp + 0x50]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x5c]
push edx
push eax
mov ecx, esi
call ebp
lea ecx, [esp + 0x140]
lea edx, [esp + 0xb0]
push ecx
push edx
mov ecx, esi
call edi
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
add ecx, 0x23
movsx eax, byte [ebp + 0x1b8]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.00414000
mov al, byte [esp + 0x13]
test al, al
jne 0x410e8d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x410ead
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
add eax, 0xc8
push eax
push ecx
push edx
push esi
lea ecx, [ebx + 0xbc]
call fcn.0042b240
mov eax, dword [0x4552f4]
test eax, eax
je 0x410eda
movsx eax, byte [esp + 0x1c]
cmp dword [0x452054], eax
jne 0x410eda
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add eax, 0xffffffd8
add ecx, 0x14
push eax
push ecx
mov ecx, ebx
call fcn.00413870
mov eax, dword [0x452050]
cmp eax, 0xffffffff
je 0x410f4d
movsx edx, byte [ebp + 0x28]
cmp eax, edx
jne 0x410f4d
lea edi, [ebx + 0xbc]
push 0xb4
mov ecx, edi
call fcn.0042aaa0
mov ebp, eax
mov eax, dword [esp + 0x18]
push 0
push 0
mov ecx, dword [eax + 0x34]
push 0
push 0
push ecx
mov ecx, ebx
call fcn.00410020
push eax
push ebp
push 0xb4
mov ecx, edi
call fcn.0042b200
mov edx, dword [esp + 0x54]
mov ecx, edi
sub edx, eax
push edx
push 0xb4
call fcn.0042b1e0
mov ecx, dword [esp + 0x5c]
sub ecx, eax
push ecx
push 0
mov ecx, esi
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 ebp, dword [esp + 0x18]
movsx eax, byte [esp + 0x1c]
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*8]
lea eax, [eax + edx*2]
shl eax, 4
mov ecx, dword [eax + 0x44b1a8]
test ecx, ecx
je 0x410fb1
lea edi, [ebx + 0xbc]
push 0xa2
push 0xa2
mov ecx, edi
call fcn.0042b200
mov ecx, dword [esp + 0x48]
sub ecx, eax
sub ecx, 3
push ecx
push 0xa2
mov ecx, edi
call fcn.0042b1e0
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
add edx, ecx
mov ecx, edi
sub edx, eax
mov eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call fcn.0042b240
mov ecx, ebx
call fcn.004120c0
test eax, eax
je 0x410fdd
lea edi, [ebx + 0xbc]
push 0x95
mov ecx, edi
mov dword [esp + 0x30], edi
call fcn.0042b1e0
mov ecx, dword [esp + 0x38]
sub ecx, eax
sub ecx, 0xf
jmp 0x410ffe
lea ecx, [ebx + 0xbc]
push 0x96
mov dword [esp + 0x30], ecx
call fcn.0042b1e0
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
sub ecx, eax
sub ecx, 0xf
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
sub eax, edx
cdq
sub eax, edx
mov edx, dword [ebx + 0x1c]
sar eax, 1
sub eax, 0x50
test edx, edx
lea edx, [ebp + 0x31c]
jne 0x411023
lea edx, [ebp + 0x1c8]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00412320
test byte [ebp + 0x470], 1
je 0x4110ab
mov ecx, ebx
call fcn.004120c0
test eax, eax
je 0x411078
push 0x90
push 0x90
mov ecx, edi
call fcn.0042b200
mov ecx, dword [esp + 0x24]
sub ecx, eax
push ecx
push 0x90
mov ecx, edi
call fcn.0042b1e0
mov ebp, dword [esp + 0x1c]
mov ecx, edi
mov edx, ebp
sub edx, eax
push edx
push esi
call fcn.0042b240
jmp 0x4110af
push 0xac
push 0xac
mov ecx, edi
call fcn.0042b200
mov ecx, dword [esp + 0x24]
sub ecx, eax
push ecx
push 0xac
mov ecx, edi
call fcn.0042b1e0
mov edx, dword [esp + 0x1c]
mov ecx, edi
sub edx, eax
push edx
push esi
call fcn.0042b240
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
test byte [eax + 0x470], 0x10
je 0x4111b2
mov ecx, ebx
call fcn.004120c0
test eax, eax
je 0x4110d2
push 0x95
jmp 0x4110d7
push 0x96
mov ecx, edi
call fcn.0042b1e0
mov ecx, ebx
call fcn.004120c0
test eax, eax
je 0x41113b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x474]
cmp eax, 3
ja case.default.0x41114a
jmp dword [eax*4 + 0x411468]
push 0x94
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0x91
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0x92
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0x93
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x474]
cmp eax, 3
ja case.default.0x41114a
jmp dword [eax*4 + 0x411478]
push 0xb0
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0xad
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0xae
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
push 0xaf
mov ecx, edi
call fcn.0042aaa0
jmp 0x41118d
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
sub ebp, edx
sub eax, ecx
mov ecx, esi
push eax
push ebp
push 0
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 [esp + 0x18]
mov cl, byte [eax + 0x1b8]
test cl, cl
jle 0x41142a
mov ecx, ebx
call fcn.00412120
mov ebp, eax
mov ecx, ebx
mov dword [esp + 0x1c], ebp
call fcn.004120c0
test eax, eax
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x38]
je 0x4111f2
sub ebp, eax
mov dword [esp + 0x14], 0x19
sub ebp, 0xd
jmp 0x4111ff
sub ebp, eax
mov dword [esp + 0x14], 0xe
sub ebp, 0xd
mov eax, dword [0x4552f4]
test eax, eax
je 0x4112e5
mov cl, byte [0x44a9a5]
test cl, cl
jne 0x4112bc
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x1b8], 2
jle 0x4112bc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
shl eax, 4
mov ecx, dword [edx + 0x10]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.004120c0
test eax, eax
je 0x411251
push 0xa9
jmp 0x411256
push 0xaa
mov ecx, edi
call fcn.0042aaa0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
cdq
sub eax, edx
mov dword [esp + 0x20], 0x11
mov ebx, eax
sar ebx, 1
xor edi, edi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x7c]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
sub eax, ebx
lea ecx, [eax + edi - 5]
push ecx
push ebp
push 0
mov ecx, esi
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 ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add edi, ecx
dec eax
mov dword [esp + 0x20], eax
jne 0x411276
jmp 0x41142a
test eax, eax
je 0x4112e5
mov edx, dword [esp + 0x18]
mov ecx, 0x44a7e8
add edx, 0x78
push edx
call fcn.0041de40
test al, al
jne 0x4112e5
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
jmp 0x4112f8
mov ecx, ebx
call fcn.004120c0
test eax, eax
je 0x4112f8
mov dword [esp + 0x14], 0x14
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
movsx eax, byte [edx + 0x1b8]
lea edi, [eax - 1]
imul edi, dword [esp + 0x14]
add edi, ecx
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x24], ecx
jle 0x41142a
mov eax, edx
mov dword [esp + 0x28], ecx
add eax, 0x78
mov dword [esp + 0x20], eax
jmp 0x411335
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 0x44a7e8
call fcn.0041de40
test al, al
jne 0x4113a5
mov ecx, ebx
call fcn.004120c0
mov ebx, dword [esp + 0x64]
test eax, eax
mov eax, dword [esp + 0x5c]
je 0x41136e
push 0
push 0
push 0
push 0
push 0
sub ebx, eax
push 0xa9
jmp 0x41137f
push 0
push 0
push 0
push 0
push 0
sub ebx, eax
push 0xaa
mov ecx, dword [esp + 0x44]
call fcn.0042aaa0
push eax
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar ecx, 1
sar eax, 1
sub ecx, eax
lea eax, [ecx + edx - 5]
jmp 0x4113e9
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
push 0
sub ebx, ecx
mov ecx, dword [esp + 0x24]
push 0
push 0
push 0
push ecx
mov ecx, 0x44a7e8
call fcn.0041de40
movsx edx, al
mov eax, dword [esp + 0x2c]
push edx
push eax
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar ecx, 1
sar eax, 1
sub ecx, eax
lea eax, [ecx + edx - 0xf]
push eax
push ebp
push 0
mov ecx, esi
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 ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
add ecx, 8
inc eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
add ebx, ecx
mov dword [esp + 0x24], eax
movsx ecx, byte [edx + 0x1b8]
cmp eax, ecx
mov dword [esp + 0x28], ebx
jl 0x411331
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov dword [esp + 0x190], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x188]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x184
ret