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

Disassembly:
push 0xffffffffffffffff
push 0x43c25c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x19c
push esi
push edi
mov edi, ecx
mov ecx, 0x44a7e8
call fcn.0041dc00
mov esi, eax
test esi, esi
mov dword [esp + 0xc], esi
je 0x412081
mov byte [esp + 0xb], 1
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0xb]
push eax
push ecx
mov ecx, 0x44a7e8
call fcn.00421460
mov cl, byte [esp + 0xb]
mov dword [esp + 0x14], eax
test cl, cl
jne 0x4114f6
test eax, eax
je 0x4114f6
add eax, 7
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xb8]
lea edx, [esp + 0x44]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
movsx ecx, byte [esi + 0x28]
push ecx
mov ecx, 0x44a7e8
call fcn.00421690
mov esi, eax
mov eax, dword [0x455304]
test eax, eax
je 0x411548
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x411548
mov ecx, dword [0x455304]
lea edx, [esp + 0x34]
push edx
push esi
call fcn.0042ece0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
jmp 0x41157f
mov ecx, edi
call fcn.00413480
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
neg eax
sbb eax, eax
sub ecx, esi
and al, 0xd4
sub ecx, 0x14
add eax, 0x78
mov dword [esp + 0x34], 0x14
lea edx, [ecx - 0x78]
add eax, 0x14
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x34]
push ebx
sub eax, edx
push ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
sub ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, edi
call fcn.00412150
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
sub ecx, ebp
sub ecx, eax
mov eax, ecx
mov ecx, edi
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
mov dword [esp + 0x78], ebx
call fcn.004120c0
test eax, eax
lea ebp, [edi + 0xbc]
je 0x4115de
push 0x95
mov ecx, ebp
call fcn.0042b200
mov esi, dword [esp + 0x58]
lea edx, [eax + eax + 0x46]
sub esi, edx
jmp 0x4115f4
push 0x96
mov ecx, ebp
call fcn.0042b200
mov esi, dword [esp + 0x58]
lea eax, [eax + eax + 0x32]
sub esi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
sub esi, eax
mov eax, dword [ecx + 0x5a8]
mov dword [esp + 0x70], esi
test eax, eax
jne 0x41167f
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x41167f
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x47c]
test eax, eax
je 0x411653
mov eax, edx
mov edx, dword [esp + 0x44]
add eax, 0x5ac
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
add eax, edx
add ecx, 0xffffffe2
cdq
sub eax, edx
push ecx
sar eax, 1
sub eax, 0xe
lea ecx, [edi + 0x28]
push eax
push ecx
mov ecx, edi
call fcn.00413f90
movsx edx, byte [0x44a9d8]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add edx, 4
push edx
mov edx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
lea ecx, [edi + 0x44f0]
call fcn.00429ea0
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x470], 1
je 0x4116de
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x41169e
push 0x90
jmp 0x4116a3
push 0xac
mov ecx, ebp
call fcn.0042aaa0
test eax, eax
je 0x4116de
mov ecx, dword [eax + 0x10]
mov ebp, dword [eax + 0xc]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, ecx
lea ecx, [edi + 0x28]
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, ebp
cdq
sub eax, edx
push esi
sar eax, 1
sub ebx, eax
push ebx
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__]
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov dword [esp + 0x1b4], 0
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x74]
mov byte [esp + 0x1b4], 1
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1b4], 2
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x34]
mov byte [esp + 0x1b4], 3
lea esi, [edx + 6]
push esi
push 0x448068
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x6c]
push esi
push 0x448068
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov ecx, 0x44a7e8
call fcn.00421a30
test eax, eax
mov eax, dword [0x44a9c8]
je 0x4117a0
test eax, eax
je 0x411785
mov edx, dword [0x44a9c4]
push edx
push eax
lea eax, [esp + 0x38]
push str.
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
jmp 0x4117cb
mov ecx, dword [0x44a9c4]
lea edx, [esp + 0x30]
push ecx
push 0x448990
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp 0x4117cb
test eax, eax
je 0x4117b9
push eax
lea eax, [esp + 0x34]
push 0x448980
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp 0x4117cb
lea ecx, [esp + 0x30]
push 0x448970
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea edx, [esp + 0x30]
lea ecx, [esp + 0x34]
push edx
call fcn.004369ce
mov eax, dword [esp + 0x34]
mov ecx, edi
mov esi, dword [eax - 8]
call fcn.00412150
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
lea ecx, [esi + esi*2]
mov ebp, dword [esp + 0x50]
shl ecx, 1
sub edx, ecx
lea ecx, [esp + 0x164]
sub edx, ebx
lea esi, [edi + 0x28]
sub edx, eax
push ecx
mov eax, edx
mov ecx, esi
cdq
sub eax, edx
mov dword [esp + 0x30], esi
mov ebx, eax
mov eax, dword [esp + 0x5c]
sub eax, ebp
mov ebp, dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::get_logfont_void_]
sub eax, 0x1e
sar ebx, 1
mov dword [esp + 0x24], eax
call ebp
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
call ebp
lea eax, [esp + 0x11c]
mov ecx, esi
push eax
call ebp
lea ecx, [esp + 0x8c]
lea edx, [esp + 0xd4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0xd0], 0xffffff
mov dword [esp + 0x160], 0xfff000
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov cl, byte [eax + 0x1b8]
test cl, cl
jle 0x411891
mov dword [esp + 0x18], 0x21
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], 0
mov ebp, ebx
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x18]
sub ebp, ecx
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x4c], ebp
call dword [sym.imp.2DEngineDll.dll_public:_void___thiscall_IXHandler::_mimage::text_int_const___int_const___char_const___int_const___int_const__]
cmp byte [esp + 0x13], 1
jne 0x411920
lea edx, [esp + 0x11c]
lea eax, [esp + 0xd4]
push edx
push eax
mov ecx, esi
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], 0
lea edx, [esp + 0x28]
mov ecx, dword [eax - 8]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x38]
push ecx
push edx
push eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call dword [sym.imp.2DEngineDll.dll_public:_void___thiscall_IXHandler::_mimage::text_int_const___int_const___char_const___int_const___int_const__]
lea edx, [esp + 0x164]
lea eax, [esp + 0xd4]
push edx
push eax
mov ecx, esi
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov al, byte [esp + 0x13]
test al, al
jne 0x411948
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41196b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add ecx, 0xc8
add edx, 0xfffffffe
push ecx
add ebp, 0xffffffec
push edx
push ebp
push esi
lea ecx, [edi + 0xbc]
call fcn.0042b240
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [eax - 8]
add edx, 0xfffffffd
movsx ecx, byte [esi + 0x1b8]
lea eax, [eax + eax*2]
push ecx
shl eax, 1
sub eax, ebp
push edx
lea ecx, [eax + ebx + 0xa]
push ecx
mov ecx, edi
call fcn.00414000
mov eax, dword [edi + 0x1c]
test eax, eax
lea eax, [esi + 0x31c]
jne 0x4119b0
lea eax, [esi + 0x1c8]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
push edx
push eax
mov ecx, edi
call fcn.00412460
mov al, byte [esi + 0x1b8]
test al, al
jle 0x411e34
mov ecx, edi
call fcn.00412120
mov edx, dword [edi + 0xb8]
lea ecx, [esp + 0x7c]
push ecx
push edx
mov ebp, eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x411a3e
mov ecx, edi
call fcn.00413480
test eax, eax
je 0x411a3e
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
sub eax, edx
cmp eax, 0x464
jg 0x411a3e
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x1b8]
cmp al, 0x10
jle 0x411a2d
mov dword [esp + 0x18], 0x2d
jmp 0x411a4a
xor edx, edx
cmp al, 0xd
setle dl
dec edx
and edx, 0x14
mov dword [esp + 0x18], edx
jmp 0x411a4a
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov eax, dword [0x44a9dc]
test eax, eax
jne 0x411b6f
mov eax, dword [0x4552f4]
test eax, eax
je 0x411b6f
mov al, byte [0x44a9a5]
test al, al
jne 0x411b6f
cmp byte [ecx + 0x1b8], 2
jle 0x411b6f
add ecx, 0x78
push ecx
mov ecx, 0x44a7e8
call fcn.0041de40
test al, al
jne 0x411b6f
mov esi, dword [ebp + 0xc]
mov ecx, edi
call fcn.004120c0
neg eax
sbb eax, eax
and eax, 6
add eax, 0xc
mov ecx, eax
shl ecx, 4
add ecx, eax
mov ebx, ecx
mov ecx, edi
call fcn.004120c0
neg eax
sbb eax, eax
mov ecx, edi
and eax, 6
add eax, 0xc
sub ebx, eax
add ebx, esi
call fcn.00412150
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
sub edx, ebx
mov ecx, dword [0x452050]
sub edx, esi
sub edx, eax
mov eax, edx
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
mov ebx, eax
movsx eax, byte [0x44a9d8]
sar ebx, 1
add ebx, edx
cmp eax, ecx
je 0x411b1f
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x411b0d
push 0xa9
jmp 0x411b12
push 0xaa
lea ecx, [edi + 0xbc]
call fcn.0042aaa0
mov ebp, eax
xor esi, esi
mov ecx, edi
call fcn.004120c0
neg eax
sbb eax, eax
mov ecx, dword [esp + 0x58]
and eax, 6
sub ecx, dword [esp + 0x50]
add eax, 0xc
mov edx, dword [ebp + 0x10]
imul eax, esi
push 0
push 0
sub ecx, edx
push 0
push 0
sub ecx, 0x2d
push 0
add eax, ebx
push ebp
push ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x48]
push eax
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__]
inc esi
cmp esi, 0x11
jl 0x411b21
jmp 0x411e34
mov ebx, dword [ebp + 0xc]
mov ecx, edi
call fcn.004120c0
mov ecx, dword [esp + 0x14]
mov esi, eax
neg esi
movsx edx, byte [ecx + 0x1b8]
sbb esi, esi
mov ecx, edi
and esi, 6
add esi, 0xc
imul esi, edx
call fcn.004120c0
neg eax
sbb eax, eax
mov ecx, edi
and eax, 6
add eax, 0xc
sub esi, eax
add esi, ebx
call fcn.00412150
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
sub ecx, esi
mov dword [esp + 0x5c], 0
sub ecx, edx
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [esp + 0x18]
sar ebx, 1
add ebx, eax
mov eax, dword [0x455300]
mov dword [esp + 0x38], ebx
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x34]
xor eax, eax
cmp ecx, edx
mov esi, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x24], ecx
jl 0x411bff
mov dword [esp + 0x24], edx
cmp ecx, edx
mov dword [esp + 0x28], ecx
jg 0x411c0b
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov dl, byte [ecx + 0x1b8]
test dl, dl
jle 0x411dfb
add ecx, 0x78
mov dword [esp + 0x1c], ecx
jmp 0x411c32
mov ebx, dword [esp + 0x38]
mov ecx, edi
call fcn.004120c0
mov esi, eax
mov ecx, dword [esp + 0x1c]
neg esi
sbb esi, esi
mov edx, dword [ecx + 4]
and esi, 6
mov eax, dword [ebp + 0x10]
add esi, 0xc
push ecx
imul esi, dword [esp + 0x1c]
add esi, ebx
mov ebx, dword [esp + 0x5c]
neg edx
sbb edx, edx
mov ecx, 0x44a7e8
and edx, 0x14
sub ebx, edx
mov edx, dword [esp + 0x54]
sub ebx, edx
sub ebx, eax
sub ebx, 0x2d
mov dword [esp + 0x24], ebx
call fcn.0041de40
test al, al
jne 0x411cc1
mov ecx, edi
call fcn.004120c0
push 0
push 0
push 0
push 0
test eax, eax
push 0
je 0x411cae
push 0xa9
lea ecx, [edi + 0xbc]
call fcn.0042aaa0
push eax
mov eax, dword [esp + 0x38]
push eax
jmp 0x411ce2
push 0xaa
lea ecx, [edi + 0xbc]
call fcn.0042aaa0
push eax
jmp 0x411cdd
mov edx, dword [esp + 0x1c]
push 0
push 0
push 0
push 0
push edx
mov ecx, 0x44a7e8
call fcn.0041de40
movsx eax, al
push eax
push ebp
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x48]
push esi
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 [0x44a9dc]
test eax, eax
je 0x411dcc
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
lea ebx, [edx + 0x32]
push ebx
push 0
push eax
mov eax, dword [esp + 0x2c]
push ecx
push eax
push esi
lea ecx, [edi + 0x44f0]
call fcn.00429ea0
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x411dcc
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x411dcc
mov ecx, dword [esp + 0x24]
cmp ecx, eax
je 0x411dcc
cmp ebx, ecx
jl 0x411dcc
cmp ebx, eax
jg 0x411dcc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x411d5b
cmp eax, esi
jle 0x411d5f
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
movsx edx, byte [ecx + 0x1b8]
dec edx
cmp eax, edx
jne 0x411d78
mov eax, dword [ebp + 0xc]
jmp 0x411d89
mov ecx, edi
call fcn.004120c0
neg eax
sbb eax, eax
and eax, 6
add eax, 0xc
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x411d98
lea edx, [eax + esi]
cmp ecx, edx
jge 0x411d9e
add eax, esi
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
test ecx, ecx
je 0x411dae
cmp ecx, eax
jle 0x411db2
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x68]
test edx, edx
je 0x411dc3
mov ecx, dword [ebp + 0x10]
add ecx, eax
cmp edx, ecx
jge 0x411dcc
mov ecx, dword [ebp + 0x10]
add ecx, eax
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add edx, 8
mov dword [esp + 0x1c], edx
inc eax
movsx edx, byte [ecx + 0x1b8]
cmp eax, edx
mov dword [esp + 0x18], eax
jl 0x411c2e
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jle 0x411e34
lea edx, [esp + 0x1c]
sub esi, ecx
push edx
mov edx, dword [esp + 0x64]
sub eax, edx
mov byte [esp + 0x20], 0x66
push eax
push esi
push edx
push ecx
mov ecx, dword [esp + 0x40]
push 0
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 0xcd
mov byte [esp + 0x37], 0xf5
call dword [sym.imp.2DEngineDll.dll_public:_void___thiscall_IXHandler::_mimage::DrawBar_int__int__int__int__int__struct_IXHandler::cmStruct::stColor32_const__]
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x478]
test eax, eax
je 0x411e8f
lea esi, [edi + 0xbc]
push 0xa2
push 0xa2
mov ecx, esi
call fcn.0042b200
mov ecx, dword [esp + 0x4c]
sub ecx, eax
sub ecx, 3
push ecx
push 0xa2
mov ecx, esi
call fcn.0042b1e0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
add edx, ecx
mov ecx, esi
sub edx, eax
mov eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0x38]
push eax
call fcn.0042b240
mov eax, dword [0x4552f4]
test eax, eax
je 0x411ebe
movsx ecx, byte [0x44a9d8]
cmp dword [0x452054], ecx
jne 0x411ebe
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add edx, 0xffffffd8
add eax, 0xffffffec
push edx
push eax
mov ecx, edi
call fcn.00413870
mov eax, dword [0x452050]
cmp eax, 0xffffffff
je 0x411f23
movsx ecx, byte [0x44a9d8]
cmp eax, ecx
jne 0x411f23
lea esi, [edi + 0xbc]
push 0xb4
mov ecx, esi
call fcn.0042aaa0
mov edx, dword [ebp + 0x34]
push 0
push 0
push 0
push 0
push edx
mov ecx, edi
mov ebx, eax
call fcn.00410020
push eax
push ebx
push 0xb4
mov ecx, esi
call fcn.0042b200
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
sub ecx, eax
add edx, 5
push ecx
mov ecx, dword [esp + 0x48]
push edx
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__]
test byte [ebp + 0x470], 0x10
je 0x412038
mov ecx, edi
call fcn.004120c0
test eax, eax
je 0x411f42
push 0x95
jmp 0x411f47
push 0x96
lea esi, [edi + 0xbc]
mov ecx, esi
call fcn.0042b200
mov ecx, edi
call fcn.004120c0
test eax, eax
mov eax, dword [ebp + 0x474]
je 0x411fad
cmp eax, 3
ja case.default.0x411fb2
jmp dword [eax*4 + 0x412098]
push 0x94
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0x91
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0x92
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0x93
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
cmp eax, 3
ja case.default.0x411fb2
jmp dword [eax*4 + 0x4120a8]
push 0xb0
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0xad
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0xae
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
push 0xaf
mov ecx, esi
call fcn.0042aaa0
jmp 0x411ff5
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x88]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0x44]
push eax
mov eax, esi
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x94]
sar edx, 1
sub eax, edx
push eax
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__]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1b4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x1b4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x1b4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x1b4], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop ebp
pop ebx
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x1a8
ret