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

Disassembly:
sub esp, 0x140
mov eax, dword [0x45f5c0]
test eax, eax
nop
push ebx
push esi
push edi
push ebp
je 0x44249c
xor ecx, ecx
mov cl, byte [0x46be68]
movsx eax, byte [0x45f8b0]
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 + 0x46ba38]
mov ecx, dword [0x46bef8]
call fcn.0041a300
mov al, byte [0x45f8b0]
cmp al, 2
je 0x4416ba
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 [0x48fbdf]
call fcn.00447290
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 [0x48fbe0]
call fcn.00447290
mov cl, byte [0x45f8b0]
test cl, cl
je 0x441668
mov al, byte [0x48fba8]
test al, al
je 0x441689
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 [0x48fbe1]
call fcn.00447290
mov al, byte [0x45f8b0]
test al, al
jne 0x441697
call fcn.00447200
mov eax, dword [0x45e978]
test eax, eax
jle 0x4416ba
mov eax, dword [esi + 0x94]
xor ecx, ecx
push eax
mov cl, byte [0x48fbde]
mov edx, dword [esi + 0x90]
call fcn.00447490
lea eax, [esp + 0x14]
mov ecx, dword [0x46bef8]
push eax
push ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jne 0x44249c
xor eax, eax
push 0
mov al, byte [0x46be68]
mov ecx, dword [esp + 0x18]
inc eax
push ecx
mov dword [0x48fbe8], 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 [0x4b2ca0]
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 [0x45f8b0]
cmp cl, 2
je 0x441c1a
push 0xa
xor edx, edx
mov dl, byte [0x48fbdd]
mov ecx, str._02d_c_d
lea ebx, [esi + 0x7c]
call fcn.0042ac70
mov ecx, dword [0x48fbe8]
mov dword [esp + 0x34], eax
mov eax, dword [0x46be80]
mov edi, dword [sym.imp.USER32.dll_OffsetRect]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
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.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebx
call edi
xor eax, eax
lea ecx, [esp + 0xa8]
mov al, byte [0x48fbdc]
lea ebx, [esi + 0x68]
push eax
push 0x45f594
push ecx
call fcn.00450c80
add esp, 0xc
mov eax, dword [0x46be80]
mov ecx, dword [0x48fbe8]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
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.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebx
lea ebx, [esi + 4]
call edi
mov eax, dword [0x46be80]
mov ecx, dword [0x48fbe8]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
add eax, ecx
push eax
push ebx
call edi
mov cl, byte [0x4b8928]
cmp cl, 1
mov ecx, dword [esi]
sbb eax, eax
mov edx, 0x48fb80
and eax, 0xff0000
add eax, 0xffff
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebx
call edi
mov cl, byte [0x48fba8]
test cl, cl
je 0x4419ff
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 [0x46be80]
mov ecx, dword [0x48fbe8]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
add eax, ecx
push eax
push ebp
call edi
push 0xffffff
mov ecx, dword [esi + 0x14]
push ecx
mov edx, 0x48fba8
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebp
call edi
push 0x3e8
mov eax, dword [0x4aa4c4]
cdq
xor eax, edx
sub eax, edx
lea ebp, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea ebp, [ecx + ecx*4]
call fcn.0042acb0
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.0042ac70
mov ecx, dword [0x4b2c80]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [0x4aa4c4]
test ecx, ecx
jle 0x44194a
mov ebp, 0x1ca328
mov al, byte [0x46be68]
mov dword [esp + 0x38], 0x46be04
cmp al, 1
sbb eax, eax
and eax, 0xfffffffa
add eax, 0xb
jmp 0x441966
mov ebp, 0x10e7
mov al, byte [0x46be68]
mov dword [esp + 0x38], 0x46be00
cmp al, 1
sbb eax, eax
and eax, 0xfffffffa
add eax, 9
mov ecx, dword [0x46be80]
mov dl, byte [0x46be68]
add ecx, eax
mov eax, dword [0x46be7c]
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.004424b0
mov ecx, dword [0x4b2ca0]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x46be80]
mov ecx, dword [0x48fbe8]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
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.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebx
call edi
mov al, byte [0x45f8b0]
test al, al
je 0x441aa2
mov al, byte [0x4b8929]
test al, al
je 0x441a39
mov eax, dword [0x48fbd8]
mov ecx, dword [0x48fbd4]
lea edx, [esp + 0xa8]
push eax
push ecx
push str._d:_d
push edx
call fcn.00450c80
add esp, 0x10
jmp 0x441a54
mov eax, dword [0x48fbd4]
lea ecx, [esp + 0xa8]
push eax
push 0x45f594
push ecx
call fcn.00450c80
add esp, 0xc
lea ebx, [esi + 0x54]
mov eax, dword [0x46be80]
mov ecx, dword [0x48fbe8]
add eax, ecx
push eax
mov eax, dword [0x46be7c]
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.004424b0
mov eax, dword [0x46be80]
neg eax
push eax
mov eax, dword [0x46be7c]
neg eax
push eax
push ebx
call edi
jmp 0x441c1a
xor ebx, ebx
mov bl, byte [0x46be68]
mov eax, dword [ebx*4 + 0x48fb78]
test eax, eax
jne 0x441acf
push 0x81172
lea eax, [ebx + 2]
push eax
mov ebp, dword [sym.imp.GDI32.dll_CreatePen]
push 0
call ebp
mov dword [ebx*4 + 0x48fb78], eax
xor eax, eax
mov edx, dword [esp + 0x14]
mov al, byte [0x46be68]
mov ecx, dword [eax*4 + 0x48fb78]
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 [0x48fbd4]
call fcn.00449d50
push 0
mov eax, dword [esi + 0x58]
mov ecx, dword [0x46be80]
mov edx, dword [0x46be7c]
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 [0x46be7c]
sub edx, ecx
mov ecx, dword [0x46be80]
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 [0x48fbd0]
call fcn.00449d50
push 0
mov eax, dword [esi + 0x44]
mov ecx, dword [0x46be80]
mov edx, dword [0x46be7c]
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 [0x46be80]
add edx, ecx
mov ecx, dword [esi + 0x40]
push edx
add ecx, eax
mov eax, dword [0x46be7c]
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 [0x46bea0]
test al, al
jne 0x441c39
mov eax, dword [0x46bea8]
test eax, eax
jne 0x441c39
mov al, byte [0x4b649f]
test al, al
je 0x441d00
mov eax, dword [0x46be80]
mov ecx, dword [0x46be84]
mov edx, dword [0x46be88]
mov bl, byte [0x46bea0]
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 0x441cab
mov al, byte [0x4b649f]
test al, al
jne 0x441cab
mov eax, dword [0x4b2c7c]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, 0x3c
mov eax, dword [0x46bea8]
cdq
idiv ecx
inc eax
push eax
push 0x45f594
push 0x4b64d0
call fcn.00450c80
add esp, 0xc
mov eax, dword [0x46be7c]
test eax, eax
je 0x441cbf
mov dword [esp + 0x80], 0x280
mov eax, 0x78
mov cl, 1
mov dl, byte [0x46be68]
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, 0x4b64d0
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x20]
call fcn.004424b0
mov al, byte [0x4b6450]
mov cl, byte [0x4b6449]
or al, cl
je 0x44247b
mov al, byte [0x46ba30]
mov cl, byte [0x46be68]
mov byte [esp + 0x13], al
test cl, cl
mov dword [esp + 0x2c], 0xffaf93
mov dword [esp + 0x28], 0
jne 0x441d46
mov al, byte [0x46be78]
test al, al
jne 0x441d46
mov byte [esp + 0x12], 1
jmp 0x441d4b
mov byte [esp + 0x12], 0
mov al, byte [0x46be78]
mov cl, byte [0x46be90]
or al, cl
je 0x44217e
mov ebx, 1
call fcn.0042cd70
lea ebp, [eax - 1]
lea edi, [esp + 0xdc]
xor eax, eax
mov esi, 0x4b8874
mov dword [esp + 0xd4], eax
mov byte [esp + 0xd0], al
mov dword [esp + 0x1c], ebp
mov ecx, dword [esi]
mov byte [edi], bl
test ecx, ecx
je 0x441dcd
mov eax, dword [ecx + 0x324]
cmp eax, 0xffffffff
jne 0x441dcd
mov eax, dword [0x45d218]
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.0042b200
mov dword [edi + 8], eax
add edi, 0xc
add esi, 4
inc ebx
cmp esi, 0x4b8880
jb 0x441d8b
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jl 0x441e49
lea eax, [esp + 0xd0]
lea ecx, [ebp + 1]
mov dword [esp + 0x30], ecx
test ebp, ebp
jl 0x441e3b
lea edi, [esp + 0xd0]
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 + 0xd4]
mov ebx, dword [esp + ebx*4 + 0xd4]
cmp ebp, ebx
jle 0x441e31
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 0x441e00
mov ebp, dword [esp + 0x1c]
add eax, 0xc
mov ecx, dword [esp + 0x30]
dec ecx
mov dword [esp + 0x30], ecx
jne 0x441df2
xor ebx, ebx
mov al, byte [0x46be78]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 0x140
mov dword [esp + 0x74], 0x3c
cmp al, bl
je 0x441e8d
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 0x441e97
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 [0x4b2c84]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp ebp, 4
jge 0x441ec4
xor ecx, ecx
jmp 0x441f1d
mov al, byte [0x461e54]
test al, al
jne 0x441f0a
xor ecx, ecx
test ebp, ebp
jl 0x441ef0
lea edx, [esp + 0xd0]
mov eax, dword [esp + 0x44]
mov bl, byte [edx]
test bl, bl
jne 0x441ee6
mov eax, ecx
add edx, 0xc
inc ecx
cmp ecx, ebp
jle 0x441ede
jmp 0x441ef4
mov eax, dword [esp + 0x44]
cmp eax, 3
jl 0x441f16
cmp ebp, eax
jne 0x441f02
lea ecx, [ebp - 3]
jmp 0x441f1d
lea ecx, [eax - 2]
lea ebp, [eax + 1]
jmp 0x441f1d
mov al, byte [0x461e54]
lea ecx, [ebp - 3]
cmp al, 1
je 0x441f1d
xor ecx, ecx
mov ebp, 3
cmp ebp, ecx
jl 0x442171
lea eax, [ecx + ecx*2]
mov bl, byte [esp + 0x12]
cmp bl, 1
lea edx, [esp + eax*4 + 0xd0]
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 0x4420c9
lea eax, [ebx + ebx*2]
mov edi, dword [esp + eax*4 + 0xd4]
lea esi, [eax*4]
lea eax, [edi + edi*4]
lea ecx, [eax + eax*4]
lea edi, [ecx + ecx*4]
call fcn.0042acb0
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 [0x4b8929]
test edx, edx
jl 0x442013
test al, al
je 0x441fec
mov ecx, dword [ebx*4 + 0x4b8870]
mov eax, dword [ecx + 0x2fc]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [eax + 0x1f8]
movsx eax, byte [ebx + 0x4b2c90]
push esi
push ecx
push eax
mov ecx, str._d_c_03d
push 0x3e8
call fcn.0042ac70
lea ecx, [esp + 0x10c]
push eax
push str.__s__3dK__d__d
push ecx
call fcn.00450c80
add esp, 0x18
jmp 0x44208f
mov eax, dword [esp + esi + 0xd8]
mov ecx, str._d_c_03d
push eax
push 0x3e8
call fcn.0042ac70
push eax
push str.__s__s
lea eax, [esp + 0x10c]
push eax
jmp 0x442087
test al, al
je 0x442060
mov ecx, dword [ebx*4 + 0x4b8870]
neg edx
mov eax, dword [ecx + 0x2fc]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [eax + 0x1f8]
movsx eax, byte [ebx + 0x4b2c90]
push esi
push ecx
push eax
mov ecx, str._d_c_03d
push 0x3e8
call fcn.0042ac70
lea ecx, [esp + 0x10c]
push eax
push str.___s__3dK__d__d
push ecx
call fcn.00450c80
add esp, 0x18
jmp 0x44208f
mov eax, dword [esp + esi + 0xd8]
mov ecx, str._d_c_03d
neg edx
push eax
push 0x3e8
call fcn.0042ac70
lea ecx, [esp + 0x104]
push eax
push str.___s__s
push ecx
call fcn.00450c80
add esp, 0x10
mov eax, dword [ebx*4 + 0x4b8870]
movsx ecx, byte [eax + 0x328]
call fcn.0042b210
test al, al
je 0x4420c2
mov al, byte [0x46be78]
mov ecx, dword [esp + 0x14]
cmp al, 1
mov eax, 0
adc eax, 0xffffffff
and eax, 0xffaf93
push eax
push ecx
jmp 0x44212c
push 0x1ca328
jmp 0x442127
mov al, byte [0x4b8929]
test al, al
je 0x442107
mov eax, dword [0x45d218]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x1f8]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0x100]
push edx
movsx edx, byte [0x4b2c90]
push ecx
push edx
push str._________3dK__d__d
push eax
call fcn.00450c80
add esp, 0x14
jmp 0x442122
call fcn.004188f0
push eax
push str._________s
lea eax, [esp + 0x108]
push eax
call fcn.00450c80
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 + 0x104]
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 0x441f49
mov al, byte [esp + 0x12]
test al, al
je 0x44217e
mov byte [esp + 0x13], 0
mov al, byte [0x46be78]
mov cl, byte [esp + 0x13]
or al, cl
je 0x44232e
mov edi, 0x4b6210
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 [0x46be78]
cmp cl, al
je 0x442207
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 [0x48fbe8], 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 0x442270
mov al, byte [0x46be68]
test al, al
je 0x442247
mov eax, dword [0x46be84]
cdq
sub eax, edx
mov ecx, dword [0x46be84]
sar eax, 1
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], eax
xor eax, eax
mov al, byte [0x46be68]
dec eax
mov dword [esp + 0x6c], eax
mov al, byte [0x46ba30]
sub al, 2
cmp al, 1
sbb eax, eax
and eax, 0x2d
add eax, 0x2f
jmp 0x44226c
xor eax, eax
mov ecx, dword [0x46be84]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov al, byte [0x46ba30]
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 [0x4b2c88]
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 0x4b6210
push ecx
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jle 0x442313
sub ecx, dword [0x48fbe8]
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 0x4b6210
push ecx
call dword [sym.imp.USER32.dll_DrawTextA]
mov al, byte [0x4b6460]
test al, al
je 0x44247b
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 [0x4b2c88]
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 [0x46be78]
test cl, cl
je 0x4423a8
mov dword [esp + 0x6c], 0x1d1
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0x280
mov dword [esp + 0x74], 0x1e0
jmp 0x44242b
mov al, byte [0x46be68]
test al, al
mov al, byte [0x46ba30]
je 0x4423ef
cmp al, 2
jne 0x4423c4
mov dword [esp + 0x6c], 0x5a
jmp 0x4423d6
mov al, byte [0x46ba30]
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 0x442427
cmp al, 2
jne 0x4423fd
mov dword [esp + 0x6c], 0x28
jmp 0x44240f
mov al, byte [0x46ba30]
dec al
cmp al, 1
sbb eax, eax
and eax, 0x14
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], 0
mov eax, dword [0x46be84]
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 [0x48fbe8]
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 0x4b6460
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 [0x46bef8]
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, 0x140
ret