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

Disassembly:
sub esp, 0x170
mov eax, dword [0x466680]
test eax, eax
nop
push ebx
push esi
push edi
push ebp
je 0x447b0c
xor ecx, ecx
mov cl, byte [0x475380]
movsx eax, byte [0x467a98]
lea ecx, [eax + ecx*2]
mov edx, ecx
lea eax, [ecx + ecx*4]
lea ecx, [eax + eax*8]
sub ecx, edx
lea esi, [ecx + ecx*4 + 0x474f50]
mov ecx, dword [0x475410]
call fcn.0041df60
mov al, byte [0x467a98]
cmp al, 2
je 0x446d2a
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa8]
push eax
mov edx, dword [esi + 0xa4]
push ecx
xor ecx, ecx
mov cl, byte [0x49e117]
call fcn.0044ca50
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xbc]
push ecx
push edx
xor ecx, ecx
mov edx, dword [esi + 0xb8]
mov cl, byte [0x49e118]
call fcn.0044ca50
mov cl, byte [0x467a98]
test cl, cl
je 0x446cd8
mov al, byte [0x49e0e0]
test al, al
je 0x446cf9
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xd0]
push eax
mov edx, dword [esi + 0xcc]
push ecx
xor ecx, ecx
mov cl, byte [0x49e119]
call fcn.0044ca50
mov al, byte [0x467a98]
test al, al
jne 0x446d07
call fcn.0044c9c0
mov eax, dword [0x465a38]
test eax, eax
jle 0x446d2a
mov eax, dword [esi + 0x94]
xor ecx, ecx
push eax
mov cl, byte [0x49e116]
mov edx, dword [esi + 0x90]
call fcn.0044cc50
lea eax, [esp + 0x14]
mov ecx, dword [0x475410]
push eax
push ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jne 0x447b0c
xor eax, eax
push 0
mov al, byte [0x475380]
mov ecx, dword [esp + 0x18]
inc eax
push ecx
mov dword [0x49e120], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [esp + 0x14]
push 0xffffff
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x4c1210]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x14]
push 1
mov dword [esp + 0x40], eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov cl, byte [0x467a98]
cmp cl, 2
je 0x44728a
push 0xa
xor edx, edx
mov dl, byte [0x49e115]
mov ecx, str._02d_c_d
lea ebx, [esi + 0x7c]
call fcn.0042f450
mov ecx, dword [0x49e120]
mov dword [esp + 0x34], eax
mov eax, dword [0x475398]
mov edi, dword [sym.imp.USER32.dll_OffsetRect]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebx
call edi
push 0xffffff
mov ecx, dword [esi + 0x78]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebx
call edi
xor eax, eax
lea ecx, [esp + 0xa8]
mov al, byte [0x49e114]
lea ebx, [esi + 0x68]
push eax
push 0x466654
push ecx
call fcn.00455e30
add esp, 0xc
mov eax, dword [0x475398]
mov ecx, dword [0x49e120]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebx
call edi
push 0xffffff
mov ecx, dword [esi + 0x64]
lea edx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebx
lea ebx, [esi + 4]
call edi
mov eax, dword [0x475398]
mov ecx, dword [0x49e120]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebx
call edi
mov cl, byte [0x4c8028]
cmp cl, 1
mov ecx, dword [esi]
sbb eax, eax
mov edx, 0x49e0b8
and eax, 0xff0000
add eax, 0xffff
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebx
call edi
mov cl, byte [0x49e0e0]
test cl, cl
je 0x44706f
mov eax, dword [esi + 0x2c]
lea ebx, [esi + 0x2c]
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x88]
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov ebp, dword [ebx + 8]
mov dword [ecx + 8], ebp
lea ebp, [esi + 0x18]
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x475398]
mov ecx, dword [0x49e120]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebp
call edi
push 0xffffff
mov ecx, dword [esi + 0x14]
push ecx
mov edx, 0x49e0e0
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebp
call edi
push 0x3e8
mov eax, dword [0x4b8a34]
cdq
xor eax, edx
sub eax, edx
lea ebp, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea ebp, [ecx + ecx*4]
call fcn.0042f490
shl ebp, 3
sar ebp, 4
cmp al, 1
sbb ecx, ecx
mov eax, ebp
cdq
and ecx, 0x7d1
add ecx, 0xccf
idiv ecx
mov ecx, str._d_c_03d
mov edx, eax
call fcn.0042f450
mov ecx, dword [0x4c11f0]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [0x4b8a34]
test ecx, ecx
jle 0x446fba
mov ebp, 0x1ca328
mov al, byte [0x475380]
mov dword [esp + 0x38], 0x47531c
cmp al, 1
sbb eax, eax
and eax, 0xfffffffa
add eax, 0xb
jmp 0x446fd6
mov ebp, 0x10e7
mov al, byte [0x475380]
mov dword [esp + 0x38], 0x475318
cmp al, 1
sbb eax, eax
and eax, 0xfffffffa
add eax, 9
mov ecx, dword [0x475398]
mov dl, byte [0x475380]
add ecx, eax
mov eax, dword [0x475394]
push ecx
cmp dl, 1
sbb ecx, ecx
lea edx, [esp + 0x8c]
and ecx, 0xfffffffd
add ecx, 0xc
sub eax, ecx
push eax
push edx
call edi
lea ecx, [esp + 0x88]
push 0xffffff
mov edx, dword [esp + 0x3c]
push 0
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00447b20
mov ecx, dword [0x4c1210]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x475398]
mov ecx, dword [0x49e120]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebx
call edi
push ebp
mov ecx, dword [esi + 0x28]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebx
call edi
mov al, byte [0x467a98]
test al, al
je 0x447112
mov al, byte [0x4c8029]
test al, al
je 0x4470a9
mov eax, dword [0x49e110]
mov ecx, dword [0x49e10c]
lea edx, [esp + 0xa8]
push eax
push ecx
push str._d:_d
push edx
call fcn.00455e30
add esp, 0x10
jmp 0x4470c4
mov eax, dword [0x49e10c]
lea ecx, [esp + 0xa8]
push eax
push 0x466654
push ecx
call fcn.00455e30
add esp, 0xc
lea ebx, [esi + 0x54]
mov eax, dword [0x475398]
mov ecx, dword [0x49e120]
add eax, ecx
push eax
mov eax, dword [0x475394]
add eax, ecx
push eax
push ebx
call edi
push 0xffffff
mov ecx, dword [esi + 0x50]
lea edx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00447b20
mov eax, dword [0x475398]
neg eax
push eax
mov eax, dword [0x475394]
neg eax
push eax
push ebx
call edi
jmp 0x44728a
xor ebx, ebx
mov bl, byte [0x475380]
mov eax, dword [ebx*4 + 0x49e0b0]
test eax, eax
jne 0x44713f
push 0x81172
lea eax, [ebx + 2]
push eax
mov ebp, dword [sym.imp.GDI32.dll_CreatePen]
push 0
call ebp
mov dword [ebx*4 + 0x49e0b0], eax
xor eax, eax
mov edx, dword [esp + 0x14]
mov al, byte [0x475380]
mov ecx, dword [eax*4 + 0x49e0b0]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, eax
lea ecx, [esp + 0x24]
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [0x49e10c]
call fcn.0044f510
push 0
mov eax, dword [esi + 0x58]
mov ecx, dword [0x475398]
mov edx, dword [0x475394]
add eax, ecx
mov ecx, dword [esp + 0x18]
push eax
mov ebp, dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [esi + 0x54]
add eax, edx
push eax
push ecx
call ebp
mov ecx, dword [esi + 0x60]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
imul dword [esp + 0x60]
mov eax, edx
mov ecx, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x5c]
imul dword [esp + 0x58]
mov eax, edx
mov edx, dword [esi + 0x58]
mov ebx, dword [0x475394]
sub edx, ecx
mov ecx, dword [0x475398]
add edx, ecx
mov ecx, dword [esi + 0x54]
push edx
add ecx, ebx
add ecx, eax
mov ebx, dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [esp + 0x18]
push ecx
push eax
call ebx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [0x49e108]
call fcn.0044f510
push 0
mov eax, dword [esi + 0x44]
mov ecx, dword [0x475398]
mov edx, dword [0x475394]
add eax, ecx
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esi + 0x40]
add eax, edx
push eax
push ecx
call ebp
mov ecx, dword [esi + 0x4c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x54]
imul dword [esp + 0x50]
mov eax, edx
mov ecx, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x48]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x4c]
imul dword [esp + 0x48]
mov eax, edx
mov edx, dword [esi + 0x44]
sub edx, ecx
mov ecx, dword [0x475398]
add edx, ecx
mov ecx, dword [esi + 0x40]
push edx
add ecx, eax
mov eax, dword [0x475394]
mov edx, dword [esp + 0x18]
add ecx, eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0x14]
push edi
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov al, byte [0x4753b8]
test al, al
jne 0x4472a9
mov eax, dword [0x4753c0]
test eax, eax
jne 0x4472a9
mov al, byte [0x4c5ba1]
test al, al
je 0x447370
mov eax, dword [0x475398]
mov ecx, dword [0x47539c]
mov edx, dword [0x4753a0]
mov bl, byte [0x4753b8]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], 0
add eax, edx
test bl, bl
mov dword [esp + 0x84], eax
jne 0x44731b
mov al, byte [0x4c5ba1]
test al, al
jne 0x44731b
mov eax, dword [0x4c11ec]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, 0x3c
mov eax, dword [0x4753c0]
cdq
idiv ecx
inc eax
push eax
push 0x466654
push 0x4c5bd0
call fcn.00455e30
add esp, 0xc
mov eax, dword [0x475394]
test eax, eax
je 0x44732f
mov dword [esp + 0x80], 0x280
mov eax, 0x78
mov cl, 1
mov dl, byte [0x475380]
push 0xffffff
sub cl, dl
push 0x4851
sar eax, cl
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x80]
add ecx, eax
push edx
mov edx, 0x4c5bd0
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x20]
call fcn.00447b20
mov al, byte [0x4c5b00]
mov cl, byte [0x4c5af9]
or al, cl
je 0x447aeb
mov al, byte [0x474f48]
mov cl, byte [0x475380]
mov byte [esp + 0x13], al
test cl, cl
mov dword [esp + 0x2c], 0xffaf93
mov dword [esp + 0x28], 0
jne 0x4473b6
mov al, byte [0x475390]
test al, al
jne 0x4473b6
mov byte [esp + 0x12], 1
jmp 0x4473bb
mov byte [esp + 0x12], 0
mov al, byte [0x475390]
mov cl, byte [0x4753a8]
or al, cl
je 0x4477ee
mov ebx, 1
call fcn.00431840
lea ebp, [eax - 1]
lea edi, [esp + 0x12c]
xor eax, eax
mov esi, 0x4c7f74
mov dword [esp + 0x124], eax
mov byte [esp + 0x120], al
mov dword [esp + 0x1c], ebp
mov ecx, dword [esi]
mov byte [edi], bl
test ecx, ecx
je 0x44743d
mov eax, dword [ecx + 0x324]
cmp eax, 0xffffffff
jne 0x44743d
mov eax, dword [0x4642d8]
mov edx, dword [eax + 0x2fc]
mov eax, dword [edx + 0x1f8]
mov edx, dword [ecx + 0x2fc]
movsx ecx, byte [ecx + 0x328]
sub eax, dword [edx + 0x1f8]
mov dword [edi + 4], eax
call fcn.0042fb10
mov dword [edi + 8], eax
add edi, 0xc
add esi, 4
inc ebx
cmp esi, 0x4c7f90
jb 0x4473fb
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jl 0x4474b9
lea eax, [esp + 0x120]
lea ecx, [ebp + 1]
mov dword [esp + 0x30], ecx
test ebp, ebp
jl 0x4474ab
lea edi, [esp + 0x120]
lea esi, [ebp + 1]
mov cl, byte [eax]
xor edx, edx
mov dl, cl
xor ebx, ebx
mov bl, byte [edi]
nop
lea edx, [edx + edx*2]
nop
lea ebx, [ebx + ebx*2]
nop
mov ebp, dword [esp + edx*4 + 0x124]
mov ebx, dword [esp + ebx*4 + 0x124]
cmp ebp, ebx
jle 0x4474a1
xor cl, byte [edi]
mov byte [eax], cl
mov dl, byte [edi]
xor dl, cl
mov byte [edi], dl
xor byte [eax], dl
add edi, 0xc
dec esi
jne 0x447470
mov ebp, dword [esp + 0x1c]
add eax, 0xc
mov ecx, dword [esp + 0x30]
dec ecx
mov dword [esp + 0x30], ecx
jne 0x447462
xor ebx, ebx
mov al, byte [0x475390]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 0x140
mov dword [esp + 0x74], 0x3c
cmp al, bl
je 0x4474fd
push 4
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x6c]
push eax
push ecx
call dword [sym.imp.USER32.dll_FillRect]
mov ecx, dword [esp + 0x14]
push ebx
push ecx
jmp 0x447507
mov eax, dword [esp + 0x14]
push 0xffaf93
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [esp + 0x14]
push 2
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [0x4c11f4]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp ebp, 4
jge 0x447534
xor ecx, ecx
jmp 0x44758d
mov al, byte [0x46afdc]
test al, al
jne 0x44757a
xor ecx, ecx
test ebp, ebp
jl 0x447560
lea edx, [esp + 0x120]
mov eax, dword [esp + 0x44]
mov bl, byte [edx]
test bl, bl
jne 0x447556
mov eax, ecx
add edx, 0xc
inc ecx
cmp ecx, ebp
jle 0x44754e
jmp 0x447564
mov eax, dword [esp + 0x44]
cmp eax, 3
jl 0x447586
cmp ebp, eax
jne 0x447572
lea ecx, [ebp - 3]
jmp 0x44758d
lea ecx, [eax - 2]
lea ebp, [eax + 1]
jmp 0x44758d
mov al, byte [0x46afdc]
lea ecx, [ebp - 3]
cmp al, 1
je 0x44758d
xor ecx, ecx
mov ebp, 3
cmp ebp, ecx
jl 0x4477e1
lea eax, [ecx + ecx*2]
mov bl, byte [esp + 0x12]
cmp bl, 1
lea edx, [esp + eax*4 + 0x120]
sbb eax, eax
mov dword [esp + 0x18], edx
and eax, 4
sub ebp, ecx
add eax, 0xb
inc ebp
mov dword [esp + 0x40], eax
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov bl, byte [eax]
test ebx, ebx
je 0x447739
lea eax, [ebx + ebx*2]
mov edi, dword [esp + eax*4 + 0x124]
lea esi, [eax*4]
lea eax, [edi + edi*4]
lea ecx, [eax + eax*4]
lea edi, [ecx + ecx*4]
call fcn.0042f490
shl edi, 3
sar edi, 4
cmp al, 1
sbb ecx, ecx
mov eax, edi
cdq
and ecx, 0x7d1
add ecx, 0xccf
idiv ecx
mov edx, eax
mov al, byte [0x4c8029]
test edx, edx
jl 0x447683
test al, al
je 0x44765c
mov ecx, dword [ebx*4 + 0x4c7f70]
mov eax, dword [ecx + 0x2fc]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [eax + 0x1f8]
movsx eax, byte [ebx + 0x4c1200]
push esi
push ecx
push eax
mov ecx, str._d_c_03d
push 0x3e8
call fcn.0042f450
lea ecx, [esp + 0xdc]
push eax
push str.__s__3dK__d__d
push ecx
call fcn.00455e30
add esp, 0x18
jmp 0x4476ff
mov eax, dword [esp + esi + 0x128]
mov ecx, str._d_c_03d
push eax
push 0x3e8
call fcn.0042f450
push eax
push str.__s__s
lea eax, [esp + 0xdc]
push eax
jmp 0x4476f7
test al, al
je 0x4476d0
mov ecx, dword [ebx*4 + 0x4c7f70]
neg edx
mov eax, dword [ecx + 0x2fc]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [eax + 0x1f8]
movsx eax, byte [ebx + 0x4c1200]
push esi
push ecx
push eax
mov ecx, str._d_c_03d
push 0x3e8
call fcn.0042f450
lea ecx, [esp + 0xdc]
push eax
push str.___s__3dK__d__d
push ecx
call fcn.00455e30
add esp, 0x18
jmp 0x4476ff
mov eax, dword [esp + esi + 0x128]
mov ecx, str._d_c_03d
neg edx
push eax
push 0x3e8
call fcn.0042f450
lea ecx, [esp + 0xd4]
push eax
push str.___s__s
push ecx
call fcn.00455e30
add esp, 0x10
mov eax, dword [ebx*4 + 0x4c7f70]
movsx ecx, byte [eax + 0x328]
call fcn.0042fb20
test al, al
je 0x447732
mov al, byte [0x475390]
mov ecx, dword [esp + 0x14]
cmp al, 1
mov eax, 0
adc eax, 0xffffffff
and eax, 0xffaf93
push eax
push ecx
jmp 0x44779c
push 0x1ca328
jmp 0x447797
mov al, byte [0x4c8029]
test al, al
je 0x447777
mov eax, dword [0x4642d8]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x1f8]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0xd0]
push edx
movsx edx, byte [0x4c1200]
push ecx
push edx
push str._________3dK__d__d
push eax
call fcn.00455e30
add esp, 0x14
jmp 0x447792
call fcn.0041c140
push eax
push str._________s
lea eax, [esp + 0xd8]
push eax
call fcn.00455e30
add esp, 0xc
push 0x10e7
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
lea eax, [esp + 0x68]
push 0x4850
lea ecx, [esp + 0xd4]
push eax
mov edx, dword [esp + 0x1c]
push 0xffffffffffffffff
push ecx
push edx
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
add eax, ecx
mov edx, dword [esp + 0x18]
add edx, 0xc
mov dword [esp + 0x6c], eax
dec ebp
mov dword [esp + 0x18], edx
jne 0x4475b9
mov al, byte [esp + 0x12]
test al, al
je 0x4477ee
mov byte [esp + 0x13], 0
mov al, byte [0x475390]
mov cl, byte [esp + 0x13]
or al, cl
je 0x44799e
mov edi, 0x4c58c0
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
xor eax, eax
nop
lea esi, [ecx - 2]
mov cl, byte [0x475390]
cmp cl, al
je 0x447877
mov dword [esp + 0x6c], 0x178
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x70], 0x280
mov dword [esp + 0x74], 0x1e0
mov dword [0x49e120], 2
mov dword [esp + 0x28], 0xffff
push 4
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x6c]
push eax
push ecx
call dword [sym.imp.USER32.dll_FillRect]
mov ecx, dword [esp + 0x74]
sub ecx, 0xf
mov dword [esp + 0x74], ecx
jmp 0x4478e0
mov al, byte [0x475380]
test al, al
je 0x4478b7
mov eax, dword [0x47539c]
cdq
sub eax, edx
mov ecx, dword [0x47539c]
sar eax, 1
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], eax
xor eax, eax
mov al, byte [0x475380]
dec eax
mov dword [esp + 0x6c], eax
mov al, byte [0x474f48]
sub al, 2
cmp al, 1
sbb eax, eax
and eax, 0x2d
add eax, 0x2f
jmp 0x4478dc
xor eax, eax
mov ecx, dword [0x47539c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov al, byte [0x474f48]
mov dword [esp + 0x70], ecx
sub al, 2
cmp al, 1
sbb eax, eax
and eax, 0x14
add eax, 0x15
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
push 2
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [0x4c11f8]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x98]
add ecx, 4
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x68]
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
push 0x4c50
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 4], ebx
mov ecx, dword [esp + 0x18]
mov dword [edx + 8], ebp
mov dword [edx + 0xc], eax
lea edx, [esp + 0x9c]
push edx
push esi
push 0x4c58c0
push ecx
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jle 0x447983
sub ecx, dword [0x49e120]
sub ecx, eax
mov eax, dword [esp + 0x6c]
add eax, ecx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push 0x4850
mov ecx, dword [esp + 0x18]
push eax
push esi
push 0x4c58c0
push ecx
call dword [sym.imp.USER32.dll_DrawTextA]
mov al, byte [0x4c5b10]
test al, al
je 0x447aeb
mov eax, dword [esp + 0x14]
push 2
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [esp + 0x14]
push 0x404040
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4c11f8]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x14]
push 0xffaf93
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov cl, byte [0x475390]
test cl, cl
je 0x447a18
mov dword [esp + 0x6c], 0x1d1
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0x280
mov dword [esp + 0x74], 0x1e0
jmp 0x447a9b
mov al, byte [0x475380]
test al, al
mov al, byte [0x474f48]
je 0x447a5f
cmp al, 2
jne 0x447a34
mov dword [esp + 0x6c], 0x5a
jmp 0x447a46
mov al, byte [0x474f48]
dec al
cmp al, 1
sbb eax, eax
and eax, 0x2d
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], 0x140
mov dword [esp + 0x70], 0x280
mov eax, dword [esp + 0x6c]
add eax, 0xf
jmp 0x447a97
cmp al, 2
jne 0x447a6d
mov dword [esp + 0x6c], 0x28
jmp 0x447a7f
mov al, byte [0x474f48]
dec al
cmp al, 1
sbb eax, eax
and eax, 0x14
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], 0
mov eax, dword [0x47539c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
add eax, 0xb
mov dword [esp + 0x74], eax
push 3
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x6c]
push eax
push ecx
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [0x49e120]
mov ecx, dword [esp + 0x68]
add eax, eax
mov edx, dword [esp + 0x70]
add ecx, eax
sub edx, eax
lea eax, [esp + 0x68]
push 0x4850
mov dword [esp + 0x6c], ecx
push eax
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
mov dword [esp + 0x7c], edx
push 0x4c5b10
push ecx
call dword [sym.imp.USER32.dll_DrawTextA]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x14]
mov edx, dword [0x475410]
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x68]
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x170
ret