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

Disassembly:
push 0xffffffffffffffff
push 0x422454
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
push 8
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x2c], eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0x5c], esi
je 0x41ad3d
push 0xe1e1e1
push 1
push esi
mov ecx, eax
call sub.MFC42.DLL_CPen::CPen
mov dword [esp + 0x18], eax
jmp 0x41ad41
mov dword [esp + 0x18], esi
or edi, 0xffffffff
push 8
mov dword [esp + 0x60], edi
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x2c], eax
cmp eax, esi
mov dword [esp + 0x5c], 1
je 0x41ad77
push 0x46ceff
push 1
push esi
mov ecx, eax
call sub.MFC42.DLL_CPen::CPen
mov dword [esp + 0x1c], eax
jmp 0x41ad7b
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x64]
push eax
mov ecx, esi
mov dword [esp + 0x60], edi
call sub.MFC42.DLL_CDC::SelectObject_1
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
call sub.MFC42.DLL_CString::CString_3
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x68]
cmp ebp, ebx
mov dword [esp + 0x5c], 2
jbe 0x41ade0
mov ecx, dword [edi + 8]
mov eax, dword [edi]
sub ecx, eax
mov edx, ebp
sub ecx, 0x10
sub edx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], edx
fild dword [esp + 0x64]
mov dword [esp + 0x30], 0
fidiv dword [esp + 0x2c]
fstp dword [esp + 0x68]
jmp 0x41ade8
mov dword [esp + 0x68], 0
cmp ebp, ebx
mov dword [esp + 0x64], 0xa
jbe 0x41ae23
mov eax, dword [esp + 0x64]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
fild qword [esp + 0x2c]
fmul dword [esp + 0x68]
call sub.MSVCRT.dll__ftol
cmp eax, 0x32
jge 0x41ae23
mov ecx, dword [esp + 0x64]
lea edx, [ecx + ecx]
mov dword [esp + 0x64], edx
jmp 0x41adf4
mov eax, dword [esi]
push 0xe1e1e1
mov ecx, esi
call dword [eax + 0x38]
mov edx, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x430]
push ecx
mov ecx, esi
call dword [edx + 0x30]
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x70]
test al, 1
je 0x41af93
cmp ebp, ebx
jbe 0x41af93
mov eax, dword [esp + 0x78]
mov ebp, ebx
cmp ebx, eax
jae 0x41af93
jmp 0x41ae71
mov ebx, dword [esp + 0x74]
mov edx, ebp
mov eax, dword [edi]
sub edx, ebx
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x14]
fild qword [esp + 0x34]
add eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x23c]
fmul dword [esp + 0x68]
test eax, eax
fiadd dword [esp + 0x20]
fstp dword [esp + 0x20]
je 0x41af0e
mov eax, ebp
xor edx, edx
div dword [0x424810]
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebx, edx
mov eax, ebx
neg eax
shl eax, 2
sub eax, ebx
lea eax, [eax + eax*4]
lea edx, [eax + eax*8]
mov eax, 0x88888889
shl edx, 4
add ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
imul eax, eax, 0xffffffc4
add ecx, eax
push ecx
push edx
push ebx
lea ecx, [esp + 0x1c]
push str._02d:_02d:_02d
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x41af21
push ebp
lea edx, [esp + 0x14]
push 0x43dbf0
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
fld dword [esp + 0x20]
call sub.MSVCRT.dll__ftol
mov ebx, eax
mov eax, dword [edi + 0xc]
push eax
lea ecx, [eax - 0xa]
lea eax, [ebx + 0x80]
push eax
push ecx
lea ecx, [esp + 0x50]
push ebx
push ecx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea ecx, [esp + 0x44]
push 0x20
push ecx
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x70]
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x3c]
sub edx, 0xd
mov ecx, esi
push edx
push ebx
push eax
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [edi + 0xc]
sub ecx, 0xa
push ecx
push ebx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x78]
add ebp, ecx
cmp ebp, eax
jb 0x41ae6d
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 4]
mov eax, dword [ebx + 8]
cmp ebp, eax
jbe 0x41afa7
mov dword [esp + 0x74], ebp
jmp 0x41afad
mov dword [esp + 0x74], eax
mov ebp, eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
sub edx, ecx
mov dword [esp + 0x34], ebp
sub edx, 0x24
mov dword [esp + 0x38], 0
mov dword [esp + 0x78], edx
mov eax, 0xcccccccd
fild dword [esp + 0x78]
mul ebp
fidiv dword [esp + 0x34]
mov ecx, edx
mov eax, 0x10624dd3
shr ecx, 3
mul ecx
fstp dword [esp + 0x78]
shr edx, 6
lea edx, [edx + edx*4]
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x64], eax
jne 0x41b036
mov eax, 0x51eb851f
mul ecx
shr edx, 5
lea edx, [edx + edx*4]
lea eax, [edx + edx*4]
shl eax, 2
mov dword [esp + 0x64], eax
jne 0x41b032
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
mov dword [esp + 0x64], edx
jne 0x41b032
mov dword [esp + 0x64], 5
mov eax, dword [esp + 0x64]
test byte [esp + 0x70], 2
je 0x41b15a
cmp eax, ebp
mov ebx, eax
jae 0x41b0fe
mov eax, dword [edi + 0xc]
mov dword [esp + 0x34], ebx
sub eax, 0xc
mov dword [esp + 0x38], 0
mov dword [esp + 0x68], eax
push ebx
fild dword [esp + 0x6c]
fild qword [esp + 0x38]
lea ecx, [esp + 0x14]
push 0x43dbf0
push ecx
fmul dword [esp + 0x84]
fsubp st(1)
fstp dword [esp + 0x74]
call sub.MFC42.DLL_CString::Format
fld dword [esp + 0x74]
add esp, 0xc
call sub.MSVCRT.dll__ftol
mov edx, dword [edi]
mov ebp, eax
add edx, 7
push ebp
lea eax, [esp + 0x40]
push edx
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [edi]
push ebp
add ecx, 9
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [edi]
lea edx, [ebp + 8]
push edx
add ebp, 0xfffffff8
lea ecx, [eax + 0x88]
add eax, 0xc
push ecx
push ebp
push eax
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea ebp, [esp + 0x44]
push 0x24
mov ecx, dword [eax - 8]
push ebp
push ecx
push eax
mov ecx, esi
call dword [edx + 0x70]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
add ebx, ecx
cmp ebx, eax
jb 0x41b04b
mov eax, dword [edi + 4]
mov ecx, dword [edi]
lea edx, [eax + 0x10]
lea ebx, [ecx + 0x88]
push edx
push ebx
add ecx, 0xc
push eax
lea eax, [esp + 0x50]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetRect]
push str.Gold__Wd
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x78]
mov edx, dword [esi]
lea ebx, [esp + 0x44]
push 0x24
mov ecx, dword [eax - 8]
push ebx
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x6c], 3
call dword [edx + 0x70]
lea ecx, [esp + 0x78]
mov byte [esp + 0x5c], 2
call sub.MFC42.DLL_CString::CString
mov ebx, dword [esp + 0x6c]
mov eax, dword [edi + 0xc]
xor ecx, ecx
mov cx, word [ebx]
mov ebx, dword [edi + 4]
sub eax, ebx
mov dword [esp + 0x38], 0
sub eax, 0x24
mov dword [esp + 0x78], eax
mov eax, 0xcccccccd
fild dword [esp + 0x78]
shr ecx, 1
mov dword [esp + 0x34], ecx
mul ecx
fidiv dword [esp + 0x34]
mov ebp, edx
mov eax, 0x51eb851f
shr ebp, 3
mov dword [esp + 0x74], ecx
mul ebp
fstp dword [esp + 0x78]
shr edx, 5
lea edx, [edx + edx*4]
lea eax, [edx + edx*4]
shl eax, 2
mov dword [esp + 0x64], eax
jne 0x41b1d2
mov eax, 0xcccccccd
mul ebp
shr edx, 3
lea eax, [edx + edx*4]
shl eax, 1
mov dword [esp + 0x64], eax
jne 0x41b1ce
mov dword [esp + 0x64], 5
mov eax, dword [esp + 0x64]
test byte [esp + 0x70], 4
je 0x41b2f0
cmp eax, ecx
mov ebx, eax
jae 0x41b29a
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x34], ebx
sub ecx, 0xc
mov dword [esp + 0x38], 0
mov dword [esp + 0x70], ecx
push ebx
fild dword [esp + 0x74]
fild qword [esp + 0x38]
lea edx, [esp + 0x14]
push 0x43dbf0
push edx
fmul dword [esp + 0x84]
fsubp st(1)
fstp dword [esp + 0x7c]
call sub.MFC42.DLL_CString::Format
fld dword [esp + 0x7c]
add esp, 0xc
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov eax, dword [edi + 8]
sub eax, 9
push ebp
lea ecx, [esp + 0x40]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov edx, dword [edi + 8]
push ebp
sub edx, 7
mov ecx, esi
push edx
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [edi + 8]
lea edx, [ebp + 8]
push edx
add ebp, 0xfffffff8
lea ecx, [eax - 0xc]
add eax, 0xffffffb4
push ecx
push ebp
push eax
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea ebp, [esp + 0x44]
push 0x26
mov ecx, dword [eax - 8]
push ebp
push ecx
push eax
mov ecx, esi
call dword [edx + 0x70]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
add ebx, ecx
cmp ebx, eax
jb 0x41b1e7
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 0x10]
lea ebx, [ecx - 0xc]
push edx
push ebx
add ecx, 0xffffffb8
push eax
lea eax, [esp + 0x50]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetRect]
push str.Food__Unit
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x78]
mov edx, dword [esi]
lea ebx, [esp + 0x44]
push 0x26
mov ecx, dword [eax - 8]
push ebx
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x6c], 4
call dword [edx + 0x70]
lea ecx, [esp + 0x78]
mov byte [esp + 0x5c], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x240]
test ecx, ecx
je 0x41b492
mov ecx, dword [eax + 0x244]
test ecx, ecx
jne 0x41b492
mov eax, dword [esp + 0x1c]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
mov edx, dword [esi]
push 0x46ceff
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esp + 0x6c]
mov edx, dword [edi + 0xc]
mov ebp, dword [edi + 4]
mov dword [esp + 0x38], 0
mov ax, word [eax + 0xe]
sub edx, ebp
sub edx, 0x24
and eax, 0xffff
mov dword [esp + 0x78], edx
mov ecx, eax
fild dword [esp + 0x78]
mov dword [esp + 0x34], ecx
mov eax, 0xcccccccd
mul ecx
fidiv dword [esp + 0x34]
mov ebx, edx
mov eax, 0x51eb851f
shr ebx, 3
mov dword [esp + 0x74], ecx
mul ebx
fstp dword [esp + 0x78]
shr edx, 5
lea ebp, [edx + edx*4]
lea ebp, [ebp + ebp*4]
shl ebp, 2
jne 0x41b39a
mov eax, 0xcccccccd
mul ebx
shr edx, 3
lea ebp, [edx + edx*4]
shl ebp, 1
jne 0x41b39a
mov ebp, 5
cmp ebp, ecx
mov ebx, ebp
jae 0x41b439
mov eax, dword [edi + 0xc]
mov dword [esp + 0x34], ebx
sub eax, 0xc
mov dword [esp + 0x38], 0
mov dword [esp + 0x70], eax
push ebx
fild dword [esp + 0x74]
fild qword [esp + 0x38]
lea ecx, [esp + 0x14]
push 0x43dbf0
push ecx
fmul dword [esp + 0x84]
fsubp st(1)
fstp dword [esp + 0x7c]
call sub.MFC42.DLL_CString::Format
fld dword [esp + 0x7c]
add esp, 0xc
call sub.MSVCRT.dll__ftol
mov ecx, dword [edi + 8]
add eax, 8
lea edx, [ecx - 0x1e]
add ecx, 0xffffffa2
mov dword [esp + 0x70], ecx
lea ecx, [eax + 8]
push ecx
add eax, 0xfffffff8
push edx
mov edx, dword [esp + 0x78]
push eax
lea eax, [esp + 0x50]
push edx
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea ecx, [esp + 0x44]
push 0x26
push ecx
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x70]
mov eax, dword [esp + 0x74]
add ebx, ebp
cmp ebx, eax
jb 0x41b3a4
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
add eax, 8
lea edx, [edi - 0x1e]
add edi, 0xffffffa6
lea ecx, [eax + 0x10]
push ecx
push edx
push eax
lea edx, [esp + 0x50]
push edi
push edx
call dword [sym.imp.USER32.dll_SetRect]
push 0x43db80
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x78]
mov edx, dword [esi]
lea edi, [esp + 0x44]
push 0x26
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x6c], 5
call dword [edx + 0x70]
lea ecx, [esp + 0x78]
mov byte [esp + 0x5c], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x24]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
test ecx, ecx
pop ebx
je 0x41b4c9
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x41b4d8
mov eax, dword [ecx]
push 1
call dword [eax + 4]
lea ecx, [esp]
mov dword [esp + 0x4c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret 0x18