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

Disassembly:
push 0xffffffffffffffff
push 0x455b66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x16c
push ebx
mov ebx, ecx
push ebp
push esi
mov ecx, dword [ebx + 0x70bc]
lea eax, [esp + 0x44]
push edi
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
push eax
push ecx
call edi
mov ecx, 0x46a8a8
call fcn.004369c0
mov esi, eax
xor ebp, ebp
cmp esi, ebp
mov dword [esp + 0x58], esi
je 0x420b59
mov dword [esi + 0x142ac], ebp
mov dword [esi + 0x142c0], ebp
cmp dword [0x46abf0], ebp
jne 0x41ff0c
cmp dword [ebx + 0x6bb0], ebp
jle 0x420b59
cmp dword [0x46a9c4], ebp
jle 0x420b59
cmp dword [esi + 0x142d4], ebp
jne 0x420b59
push ebp
push ebp
push ebp
mov dword [esi + 0x142ac], 1
mov eax, dword [0x46af6c]
mov ecx, dword [0x46af5c]
push ebp
lea edx, [ebx + 0x6ba4]
push ebp
push edx
push eax
push ecx
push ebp
lea ecx, [ebx + 0x70d0]
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__]
jmp 0x420b59
movsx eax, byte [0x46ac10]
add eax, 2
and eax, 0x80000003
jns 0x41ff22
dec eax
or eax, 0xfffffffc
inc eax
mov byte [esp + 0x10], al
mov ecx, 0x46a8a8
mov edx, dword [esp + 0x10]
push edx
call fcn.00437fd0
cmp eax, ebp
mov dword [esp + 0x18], eax
jne 0x41ff97
cmp dword [ebx + 0x6bb0], ebp
jle 0x420b59
cmp dword [0x46a9c4], ebp
jle 0x420b59
cmp dword [esi + 0x142d4], ebp
jne 0x420b59
push ebp
push ebp
push ebp
mov dword [esi + 0x142ac], 1
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af5c]
push ebp
lea eax, [ebx + 0x6ba4]
push ebp
push eax
push ecx
push edx
push ebp
lea ecx, [ebx + 0x70d0]
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__]
jmp 0x420b59
mov ecx, ebx
mov dword [esi + 0x142d4], 0x3c
call fcn.00422de0
mov ecx, dword [ebx + 0x70bc]
lea eax, [esp + 0x38]
push eax
push ecx
call edi
lea edi, [ebx + 0x80]
push 0x98
mov ecx, edi
mov dword [esp + 0x30], edi
call fcn.00448460
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov ebp, dword [eax + 0x10]
sub esi, edx
shl esi, 3
mov eax, 0xb19ab5c5
push 0x98
imul esi
mov ecx, edx
mov eax, 0x60
add ecx, esi
sub eax, ebp
sar ecx, 9
mov edx, ecx
shr edx, 0x1f
add ecx, edx
cdq
sub eax, edx
mov edx, dword [0x46af6c]
sar eax, 1
add edx, ecx
mov ecx, edi
lea eax, [eax + edx + 0xa5]
mov dword [esp + 0x34], eax
call fcn.00448460
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
sub ecx, edx
mov eax, 0x749cb29
lea ecx, [ecx*4 - 0x98]
imul ecx
mov ecx, edx
mov eax, 0x60
sar ecx, 4
mov edx, ecx
sub eax, esi
shr edx, 0x1f
add ecx, edx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [0x46af6c]
mov esi, eax
sar edx, 1
add esi, ecx
lea ecx, [edx + esi + 0xa5]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x47c]
test ecx, ecx
je 0x420090
add eax, 0x7b
lea ecx, [ebx + 0x70d0]
push eax
mov eax, dword [0x46af5c]
add eax, 0x55
push eax
push ecx
mov ecx, ebx
call fcn.00421640
jmp 0x4200a0
movsx edx, byte [esp + 0x10]
add edx, 0x78
mov ecx, edi
push edx
call fcn.00448460
mov ecx, ebx
call fcn.00422de0
test eax, eax
mov eax, dword [0x47a490]
jne 0x4200df
test eax, eax
je 0x4200c7
mov ecx, 0x46a8a8
call fcn.00438030
cmp dword [eax + 0x470], 0x10
je 0x420113
mov eax, dword [esp + 0x18]
mov ecx, 0x46a8a8
add eax, 0x78
push eax
call fcn.004382c0
test al, al
jne 0x420113
jmp 0x42010c
test eax, eax
je 0x4200f6
mov ecx, 0x46a8a8
call fcn.00438030
cmp dword [eax + 0x470], 0x10
je 0x420113
mov eax, dword [esp + 0x18]
mov ecx, 0x46a8a8
add eax, 0x78
push eax
call fcn.004382c0
test al, al
jne 0x420113
mov ecx, ebx
call fcn.00422e20
movsx eax, byte [esp + 0x10]
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af5c]
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
push 0xa5
push 0x78
push ecx
push edx
lea ecx, [ebx + 0x28]
call fcn.00447750
lea ebp, [ebx + 0x70d0]
lea eax, [esp + 0xa4]
push eax
mov ecx, ebp
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::get_logfont_void_]
lea ecx, [esp + 0xa4]
lea edx, [esp + 0xec]
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0xe8], 0xffffff
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov ecx, 0x12
mov esi, eax
lea edi, [esp + 0xa4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x188], 0
mov edx, dword [ecx + 0x34]
push edx
push 0x46ac54
call fcn.0044ef84
add esp, 0xc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x14]
push eax
push 0x467444
push ecx
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x188], 1
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
mov byte [esp + 0x184], 0
call sub.MFC42.DLL_CString::CString
mov ecx, 0x46a8a8
call fcn.004369c0
test eax, eax
je 0x420b45
mov eax, dword [0x47a490]
xor edi, edi
cmp eax, edi
je 0x42021d
mov ecx, 0x46a8a8
call fcn.00438030
cmp dword [eax + 0x470], 0x10
je 0x420239
mov esi, dword [esp + 0x18]
mov ecx, 0x46a8a8
lea edx, [esi + 0x78]
push edx
call fcn.004382c0
test al, al
je 0x420397
jmp 0x42023d
mov esi, dword [esp + 0x18]
cmp dword [0x46a9c4], edi
je 0x4202b7
mov edx, dword [0x46af6c]
mov ecx, dword [esi + 0x20]
push 0xffe26c
push edi
lea eax, [esi + 6]
push 0x14
push eax
mov eax, dword [0x46af5c]
add edx, 0xa8
push ecx
add eax, 6
push edx
push eax
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x14], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [0x46af6c]
add ecx, 0xb7
add edx, 6
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x14]
lea edx, [esp + 0x28]
push ecx
push edx
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
jmp 0x4204ea
mov ecx, ebx
call fcn.00424070
test eax, eax
push 0xffe26c
push 1
je 0x420330
mov ecx, dword [0x46af6c]
mov eax, dword [esi + 0x20]
lea edx, [esi + 6]
push 0xb
push edx
mov edx, dword [0x46af5c]
add ecx, 0x67
push eax
add edx, 0xffffffbd
push ecx
push edx
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af6c]
add ecx, 0x76
add edx, 0xffffffbd
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
jmp 0x4204ea
mov ecx, dword [0x46af6c]
mov eax, dword [esi + 0x20]
lea edx, [esi + 6]
push 0xd
push edx
mov edx, dword [0x46af5c]
add ecx, 9
push eax
add edx, 0xffffffb0
push ecx
push edx
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af6c]
add ecx, 0x18
add edx, 0xffffffb0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
jmp 0x4204ea
cmp dword [0x46a9c4], edi
je 0x420412
mov ecx, dword [0x46af6c]
mov eax, dword [esi + 0x20]
push 0xffe26c
push edi
lea edx, [esi + 6]
push 0x14
push edx
mov edx, dword [0x46af5c]
add ecx, 0xa8
push eax
add edx, 6
push ecx
push edx
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af6c]
add ecx, 0xb7
add edx, 6
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
jmp 0x4204ea
mov ecx, ebx
call fcn.00424070
test eax, eax
push 0xffe26c
push 1
je 0x420488
mov ecx, dword [0x46af6c]
mov eax, dword [esi + 0x20]
lea edx, [esi + 6]
push 0xb
push edx
mov edx, dword [0x46af5c]
add ecx, 0x67
push eax
add edx, 0xffffffb8
push ecx
push edx
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af6c]
add ecx, 0x76
add edx, 0xffffffb8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
jmp 0x4204ea
mov ecx, dword [0x46af6c]
mov eax, dword [esi + 0x20]
lea edx, [esi + 6]
push 0xd
push edx
mov edx, dword [0x46af5c]
add ecx, 9
push eax
add edx, 0xffffffb0
push ecx
push edx
mov ecx, ebx
call fcn.00421490
mov eax, dword [esp + 0x24]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax - 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af6c]
add ecx, 0x18
add edx, 0xffffffb0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebp
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 + 0xa4]
lea eax, [esp + 0xec]
push edx
push eax
mov ecx, ebp
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 [0x47a490]
cmp eax, edi
mov eax, dword [esp + 0x10]
je 0x42052f
cmp dword [0x47224c], eax
jne 0x42052f
push 0x23
push 0x67
mov ecx, ebx
call fcn.00424b50
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
lea edx, [eax + eax*2]
cmp dword [edx*4 + 0x46b3f0], edi
je 0x4205d2
mov ecx, ebx
call fcn.00422de0
test eax, eax
je 0x4205a9
mov ecx, ebx
call fcn.00424070
test eax, eax
push 0
push 0xa2
je 0x420588
mov eax, dword [0x46af6c]
mov ecx, dword [0x46af5c]
mov edi, dword [esp + 0x34]
add eax, 0x87
add ecx, 0x7d
push eax
push ecx
push ebp
mov ecx, edi
call fcn.00448e00
jmp 0x4205d6
mov edx, dword [0x46af6c]
mov eax, dword [0x46af5c]
mov edi, dword [esp + 0x34]
add edx, 0x3a
add eax, 0xffffffbf
push edx
push eax
push ebp
mov ecx, edi
call fcn.00448e00
jmp 0x4205d6
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af5c]
mov edi, dword [esp + 0x2c]
push 0
add ecx, 0x7d
push 0xa2
add edx, 0x7e
push ecx
push edx
push ebp
mov ecx, edi
call fcn.00448e00
jmp 0x4205d6
mov edi, dword [esp + 0x2c]
mov al, byte [esi + 0x1b8]
test al, al
jle 0x420775
lea eax, [esi + 0x78]
mov ecx, 0x46a8a8
push eax
call fcn.004382c0
test al, al
je 0x42076d
mov ecx, ebx
call fcn.00422df0
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.0041d5b0
neg al
sbb eax, eax
and eax, 3
add eax, 0xf
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0xc]
movsx eax, byte [esi + 0x1b8]
dec eax
imul eax, ecx
add eax, edx
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.00422e20
movsx ecx, byte [esi + 0x1b8]
mov eax, dword [0x46a9a8]
cmp eax, ecx
je 0x420666
test eax, eax
jne 0x420666
mov dword [0x46a9a4], 1
movsx edx, byte [esi + 0x1b8]
mov dword [0x46a9a8], edx
mov ecx, ebx
call fcn.00424070
test eax, eax
mov eax, dword [esp + 0x40]
je 0x420690
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
sub eax, edx
sub eax, ecx
sub eax, 0x10a
cdq
sub eax, edx
sar eax, 1
add eax, 8
jmp 0x4206a1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
sub eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [0x46af5c]
add ecx, 0x7c
cmp eax, ecx
jge 0x4206b0
mov eax, ecx
mov cl, byte [esi + 0x1b8]
mov dword [esp + 0x14], 0
test cl, cl
jle 0x420960
mov dword [esp + 0x10], eax
lea edi, [esi + 0x78]
push edi
mov ecx, 0x46a8a8
call fcn.004382c0
test al, al
je 0x42073b
mov ecx, ebx
call fcn.00424070
push 0
push 0
push 0
push 0
test eax, eax
push edi
mov ecx, 0x46a8a8
je 0x420714
call fcn.004382c0
mov ecx, dword [0x46af6c]
movsx edx, al
mov eax, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x24]
add ecx, 0x23
push eax
push ecx
push edx
jmp 0x420731
call fcn.004382c0
mov edx, dword [0x46af6c]
mov ecx, dword [esp + 0x28]
movsx eax, al
push eax
mov eax, dword [esp + 0x24]
add edx, 0x2e
push ecx
push edx
push eax
push 0
mov ecx, ebp
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 + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add edx, ecx
mov dword [esp + 0x10], edx
inc eax
movsx edx, byte [esi + 0x1b8]
add edi, 8
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x4206cd
mov edi, dword [esp + 0x2c]
jmp 0x420960
mov al, byte [esi + 0x1b8]
test al, al
mov eax, dword [0x46a9a8]
je 0x420948
test eax, eax
je 0x420798
mov dword [0x46a9a4], 1
mov dword [0x46a9a8], 0
mov al, byte [esi + 0x1b8]
test al, al
jle 0x420816
mov ecx, ebx
call fcn.00424070
test eax, eax
je 0x420816
mov eax, dword [0x46af6c]
mov ecx, dword [0x46af5c]
push 0
add eax, 0x11
push 0xc8
add ecx, 0x78
push eax
push ecx
push ebp
mov ecx, edi
call fcn.00448e00
mov eax, dword [ebx + 0x6cd0]
test eax, eax
jle 0x420816
mov edx, dword [esp + 0x58]
push 0
push 0
push 0
mov dword [edx + 0x142c0], 1
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af5c]
push 0
lea eax, [ebx + 0x6cc4]
push 0
add ecx, 0x11
push eax
add edx, 0x78
push ecx
push edx
push 0
mov ecx, ebp
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, 0xf
xor eax, eax
lea edi, [esp + 0x5c]
push 0x466070
rep stosd dword es:[edi], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x60], 0xfffffff4
push eax
mov dword [esp + 0x74], 0x190
mov byte [esp + 0x7b], 0x86
mov byte [esp + 0x7f], 2
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
lea ecx, [esp + 0xec]
mov dword [esp + 0x98], 0xffffff
mov dword [esp + 0x9c], 0
push ecx
mov ecx, ebp
mov dword [esp + 0xa4], 1
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::get_logfont_void_]
mov ecx, 0x12
mov esi, eax
lea edi, [esp + 0x5c]
lea edx, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xec]
push edx
push eax
mov ecx, ebp
mov dword [esp + 0xa0], 0xffffff
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov ecx, 0x12
mov esi, eax
lea edi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00422de0
mov ecx, ebx
test eax, eax
call fcn.00422e20
mov eax, dword [0x46a9c4]
test eax, eax
jne 0x420929
mov ecx, ebx
call fcn.00424070
test eax, eax
je 0x420902
mov ecx, dword [esp + 0x18]
mov eax, dword [0x46af6c]
add eax, 0x85
movsx edx, byte [ecx + 0x1b8]
mov ecx, dword [0x46af5c]
push edx
add ecx, 0xffffffb8
push eax
push ecx
jmp 0x420922
mov edx, dword [esp + 0x18]
mov ecx, dword [0x46af6c]
add ecx, 0x27
movsx eax, byte [edx + 0x1b8]
mov edx, dword [0x46af5c]
push eax
add edx, 0xffffffb0
push ecx
push edx
mov ecx, ebx
call fcn.0041d7c0
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x134]
push eax
push ecx
mov ecx, ebp
call dword [sym.imp.2DEngineDll.dll_public:_struct_IXHandler::_mimage::_log_font___thiscall_IXHandler::_mimage::set_logfont_struct_IXHandler::_mimage::_log_font_const__]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
jmp 0x420960
test eax, eax
je 0x420960
mov dword [0x46a9a4], 1
mov dword [0x46a9a8], 0
mov ecx, ebx
call fcn.00422e20
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
sub edx, ecx
mov ecx, dword [ebx + 0x24]
sub edx, eax
mov eax, edx
cdq
sub eax, edx
sar eax, 1
test ecx, ecx
je 0x42098a
lea ecx, [esi + 0x31c]
push ecx
jmp 0x420991
lea edx, [esi + 0x1c8]
push edx
push eax
mov ecx, ebx
call fcn.004232c0
test byte [esi + 0x470], 1
je 0x420aa1
mov ecx, ebx
call fcn.00422e20
mov ecx, ebx
call fcn.00422de0
test eax, eax
push 0x90
mov ecx, edi
je 0x420a59
call fcn.00448460
mov eax, dword [0x46a9c4]
test eax, eax
jle 0x4209ef
mov eax, dword [0x46af6c]
mov ecx, dword [0x46af5c]
push 0
add eax, 0x69
push 0xac
push eax
add ecx, 0x46
jmp 0x420a98
mov ecx, ebx
call fcn.00424070
test eax, eax
push 0x90
mov ecx, edi
je 0x420a31
call fcn.00448460
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x48]
push 0
sub eax, ecx
push 0x90
sub eax, 0x10a
push edx
cdq
sub eax, edx
sar eax, 1
add eax, 8
push eax
jmp 0x420a99
call fcn.00448460
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
push 0
push 0x90
push eax
mov eax, dword [esp + 0x5c]
sub eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
jmp 0x420a99
call fcn.00448460
mov eax, dword [0x46a9c4]
push 0
test eax, eax
push 0x90
jle 0x420a84
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af5c]
add ecx, 0x6e
add edx, 0x46
push ecx
push edx
jmp 0x420a99
mov eax, dword [0x46af6c]
mov ecx, dword [0x46af5c]
add eax, 0xc8
add ecx, 0x19
push eax
push ecx
push ebp
mov ecx, edi
call fcn.00448e00
cmp dword [esi + 0x470], 0x10
jne 0x420b45
mov ecx, ebx
call fcn.00422de0
test eax, eax
jne 0x420ad6
mov edx, dword [0x46af6c]
push eax
mov eax, dword [0x46af5c]
add edx, 0xc8
push 0xb3
push edx
add eax, 0x19
jmp 0x420b3c
mov ecx, ebx
call fcn.00424070
test eax, eax
push 0xb3
mov ecx, edi
je 0x420b17
call fcn.00448460
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
push 0
push 0xb3
push edx
mov edx, dword [esp + 0x54]
sub eax, ecx
sub eax, edx
sub eax, 0x10a
cdq
sub eax, edx
sar eax, 1
add eax, 8
jmp 0x420b3c
call fcn.00448460
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
push 0
push 0xb3
push eax
mov eax, dword [esp + 0x5c]
sub eax, ecx
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
push eax
push ebp
mov ecx, edi
call fcn.00448e00
lea ecx, [esp + 0x24]
mov dword [esp + 0x184], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x178
ret