Function at 0x403d95
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x53e720
mov eax, dword fs:[0]
push eax
sub esp, 0x480
mov eax, dword [0x592bb0]
xor eax, esp
mov dword [esp + 0x478], eax
push ebx
push esi
push edi
mov eax, dword [0x592bb0]
xor eax, esp
push eax
lea eax, [esp + 0x490]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 0x78]
mov ebx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebx
cmp eax, 1
je 0x404633
cmp eax, 2
je 0x404633
mov esi, dword [sym.imp.USER32.dll_GetPropA]
push str.BITMAP
push dword [edi + 0x20]
call esi
test byte [ebx + 0x10], 1
mov dword [esp + 0x10], eax
je 0x403e35
sub esp, 0x10
mov edi, esp
push dword [0x5946a0]
push dword [0x59469c]
push dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00403506
jmp 0x404022
push 0x56c45c
push dword [ebx + 0x14]
call esi
push str.DEF_BTN
push dword [ebx + 0x14]
test eax, eax
je 0x403f0a
call esi
test eax, eax
jne 0x403eb5
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebx + 0x14]
je 0x403eb5
sub esp, 0x10
mov edi, esp
lea esi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xdddddd
movsd dword es:[edi], dword [esi]
push 0xededed
push dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
call fcn.00403506
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fild dword [esp + 0x54]
fld qword [0x5946a8]
fadd st(0), st(0)
add esp, 0x1c
fsubp st(1)
call fcn.0051d1e0
mov dword [esp + 0x30], eax
sub esp, 0x10
lea esi, [esp + 0x3c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x403f9e
sub esp, 0x10
mov edi, esp
lea esi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xdddddd
movsd dword es:[edi], dword [esi]
push 0xededed
push dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
call fcn.00403506
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fild dword [esp + 0x54]
fld qword [0x5946a8]
fadd st(0), st(0)
add esp, 0x1c
fsubp st(1)
call fcn.0051d1e0
mov dword [esp + 0x30], eax
sub esp, 0x10
lea esi, [esp + 0x3c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x403fff
call esi
test eax, eax
jne 0x403fa6
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebx + 0x14]
je 0x403fa6
cmp dword [edi + 0x78], 0xa
jne 0x403f45
mov ecx, edi
call fcn.0042411e
test eax, eax
jne 0x403f45
sub esp, 0x10
mov eax, 0xdddddd
mov edi, esp
push eax
push eax
jmp 0x403e21
sub esp, 0x10
mov edi, esp
lea esi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xdddddd
movsd dword es:[edi], dword [esi]
push 0xfcfcfc
push dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
call fcn.00403506
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fild dword [esp + 0x54]
add esp, 0x1c
fsub qword [0x5946a8]
call fcn.0051d1e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
call fcn.0042411e
sub esp, 0x10
lea esi, [esp + 0x3c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x404012
push dword [0x59469c]
jmp 0x404005
sub esp, 0x10
mov edi, esp
lea esi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xdddddd
movsd dword es:[edi], dword [esi]
push 0xfcfcfc
push dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
call fcn.00403506
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fild dword [esp + 0x54]
add esp, 0x1c
fsub qword [0x5946a8]
call fcn.0051d1e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
call fcn.0042411e
sub esp, 0x10
lea esi, [esp + 0x3c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x404012
push dword [0x5946a0]
push dword [ebx + 0x18]
call fcn.00413f14
add esp, 0x18
jmp 0x404025
push 0x40
push dword [0x59469c]
push dword [ebx + 0x18]
call fcn.0040b8ba
add esp, 0x1c
mov edi, dword [esp + 0x18]
push 0xff
lea eax, [esp + 0x88]
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [0x59b3a4]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0x18]
xor eax, eax
mov word [esp + 0x288], ax
call esi
cmp dword [edi + 0x78], 0xa
jne 0x40406b
push dword [0x59b3b8]
push dword [ebx + 0x18]
call esi
test byte [ebx + 0x10], 1
je 0x404078
push 0xffffff
jmp 0x40407a
push 0
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, edi
mov dword [esp + 0x1c], 0xff
call fcn.0042411e
test eax, eax
jne 0x40409e
mov dword [esp + 0x1c], 0x40
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov esi, dword [sym.imp.USER32.dll_GetPropA]
push str.ICON
push dword [edi + 0x20]
call esi
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0042411e
test eax, eax
jne 0x4040da
push str.ICONGREY
push dword [edi + 0x20]
call esi
mov dword [esp + 0x14], eax
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x404132
fld qword [0x5946a8]
fmul qword [0x571508]
call fcn.0051d1e0
push 3
push esi
push esi
push eax
push eax
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x74]
push dword [esp + 0x28]
sub eax, 0x1a
cdq
sub eax, edx
sar eax, 1
push eax
push 0xa
push dword [ebx + 0x18]
call dword [sym.imp.USER32.dll_DrawIconEx]
fld qword [0x5946a8]
fmul qword [0x571508]
fiadd dword [esp + 0x5c]
call fcn.0051d1e0
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x10], esi
je 0x404200
lea eax, [esp + 0x6c]
push eax
push 0x18
push dword [esp + 0x18]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [esp + 0x70]
mov eax, dword [ebx + 0x24]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
add eax, ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x28]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x30], eax
add eax, ecx
test byte [ebx + 0x10], 1
mov dword [esp + 0x38], eax
je 0x4041d9
push 0x2000
push esi
push esi
push esi
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_CopyImage]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0042411e
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [esp + 0x34]
lea esi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
jne 0x4041e9
mov al, 0x48
jmp 0x4041eb
push 0x56c45c
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
jmp 0x404193
or al, 0xff
call fcn.00408515
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [esp + 0x18]
xor esi, esi
mov eax, dword [edi + 0x78]
cmp eax, 9
jne 0x4042fd
dec dword [esp + 0x60]
dec dword [esp + 0x68]
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xfffffffffffffffe
pop ecx
sub ecx, eax
add dword [esp + 0x64], ecx
fild dword [esp + 0x64]
fld qword [0x5946a8]
fmul qword [0x571508]
fsubp st(1)
call fcn.0051d1e0
mov dword [esp + 0x64], eax
push dword [esp + 0x1c]
lea eax, [esp + 0x60]
push 0x25
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x94]
push eax
push dword [ebx + 0x18]
call fcn.00415c02
cmp dword [edi + 0x78], 9
jne 0x404972
fld qword [0x5946a8]
push str.Marlett
fmul qword [0x571468]
push esi
push 6
push esi
push 4
push 1
push esi
push esi
push esi
push 0x190
push esi
push esi
push esi
call fcn.0051d1e0
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
push dword [ebx + 0x18]
mov dword [esp + 0x20], eax
call dword [sym.imp.GDI32.dll_SelectObject]
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
dec dword [esp + 0x40]
dec dword [esp + 0x48]
push 2
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esp + 0x44]
sub ecx, eax
mov dword [esp + 0x3c], ecx
fild dword [esp + 0x3c]
fld qword [0x5946a8]
fmul qword [0x571500]
fsubp st(1)
call fcn.0051d1e0
test byte [ebx + 0x10], 1
mov dword [esp + 0x3c], eax
je 0x40449e
push 0xffffff
jmp 0x4044a0
cmp eax, 0xa
jne 0x404240
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x14]
call fcn.00403493
push esi
push 0xa
lea ecx, [esp + 0x18]
mov dword [esp + 0x4a0], esi
call fcn.00404996
mov edi, eax
cmp edi, esi
jle 0x404481
push edi
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
call fcn.00402b1b
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x49c], 1
call fcn.00403196
mov byte [esp + 0x498], 0
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.004014d0
fld qword [0x5946a8]
fmul qword [0x571500]
fiadd dword [esp + 0x60]
call fcn.0051d1e0
cmp dword [esp + 0x1c], 0x40
mov dword [esp + 0x60], eax
jne 0x404391
mov dword [esp + 0x1c], 0xc8
push dword [esp + 0x1c]
lea eax, [esp + 0x60]
push 0x21
push eax
push 0xffffffffffffffff
push dword [esp + 0x20]
push dword [ebx + 0x18]
call fcn.00415c02
push dword [0x59b398]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [esp + 0x84]
push eax
call fcn.00403454
pop ecx
push eax
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x18]
call fcn.004033e3
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0xc]
sub eax, edi
dec eax
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
call fcn.004049ca
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x49c], 2
call fcn.00403196
mov byte [esp + 0x498], 0
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.004014d0
test byte [ebx + 0x10], 1
jne 0x404440
mov ecx, dword [esp + 0x18]
call fcn.0042411e
test eax, eax
jne 0x404432
push 0x191919
jmp 0x404437
push 0x3c3c3c
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
fld qword [0x5946a8]
fmul qword [0x5714f8]
fild dword [esp + 0x60]
fadd st(1)
call fcn.0051d1e0
fiadd dword [esp + 0x68]
mov dword [esp + 0x60], eax
call fcn.0051d1e0
push dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
push 0x21
lea eax, [esp + 0x64]
push eax
push 0xffffffffffffffff
push dword [esp + 0x20]
push dword [ebx + 0x18]
call fcn.00415c02
or dword [esp + 0x498], 0xffffffff
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.004014d0
mov edi, dword [esp + 0x18]
jmp 0x40425d
push 0
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [esp + 0x1c]
lea eax, [esp + 0x40]
push 0x8025
push eax
push 0xffffffffffffffff
push 0x56c4dc
push dword [ebx + 0x18]
call fcn.00415c02
push dword [esp + 0x14]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0x18]
call edi
push dword [esp + 0x18]
call dword [sym.imp.GDI32.dll_DeleteObject]
fild dword [esp + 0x3c]
fld qword [0x5946a8]
and dword [esp + 0x14], 0
fld qword [0x5714f0]
fmul st(1)
fsubp st(2)
fxch st(1)
call fcn.0051d1e0
fld qword [0x5714e8]
fmul st(1)
mov esi, eax
mov dword [esp + 0x3c], esi
fiadd dword [esp + 0x40]
call fcn.0051d1e0
fild dword [esp + 0x48]
fxch st(1)
mov dword [esp + 0x40], eax
fmul qword [0x571500]
fsubp st(1)
call fcn.0051d1e0
sub esi, dword [esp + 0x40]
push 0x13
add esi, eax
mov dword [esp + 0x48], esi
mov esi, dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x4c], eax
call esi
push eax
push dword [ebx + 0x18]
call edi
push 0x12
call esi
push eax
push dword [ebx + 0x18]
call edi
mov edi, dword [sym.imp.GDI32.dll_SetDCPenColor]
push 0xdddddd
push dword [ebx + 0x18]
call edi
push 0
mov ebx, 0x56bc50
mov edx, str.CustomColour
mov ecx, 0x56bc6c
call fcn.00408775
pop ecx
test eax, eax
jne 0x4045b4
mov ebx, dword [esp + 0x20]
push 0xdddddd
push dword [ebx + 0x18]
call edi
mov edi, 0xffffff
push edi
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push edi
push 5
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov edi, eax
push edi
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x4045f8
push 0
mov edx, str.CustomColourV
mov ecx, 0x56bc6c
call fcn.00408775
pop ecx
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 0x18]
call edi
push 0
mov edx, str.CustomColourV
mov ecx, 0x56bc6c
call fcn.00408775
pop ecx
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 0x18]
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_Rectangle]
push 0x12
call esi
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
test edi, edi
je 0x404972
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x404972
push 6
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_GetCurrentObject]
push dword [ebx + 0x18]
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, dword [ebx + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x28]
sub eax, dword [ebx + 0x20]
lea esi, [ebx + 0x1c]
sub edi, dword [esi]
push eax
call fcn.00417394
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
pop ecx
push eax
push dword [esp + 0x14]
mov dword [esp + 0x30], eax
call edi
push dword [esp + 0x14]
mov dword [esp + 0x20], eax
push dword [esp + 0x14]
call edi
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
lea edi, [esp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x50]
sub dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x4c]
sub dword [esp + 0x54], ecx
and dword [esp + 0x4c], 0
and dword [esp + 0x50], 0
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_FillRect]
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [esp + 0x18]
mov esi, 0xff
push esi
lea eax, [esp + 0x288]
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [0x59b3ac]
xor eax, eax
push dword [esp + 0x14]
mov word [esp + 0x488], ax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, edi
mov dword [esp + 0x20], esi
call fcn.0042411e
test eax, eax
jne 0x404726
mov dword [esp + 0x20], 0x40
fld qword [0x5946a8]
fmul qword [0x5714f0]
fild dword [esp + 0x4c]
fadd st(1)
call fcn.0051d1e0
fiadd dword [esp + 0x54]
mov dword [esp + 0x4c], eax
call fcn.0051d1e0
cmp dword [0x5946a4], 0
mov dword [esp + 0x54], eax
je 0x40475f
dec dword [esp + 0x50]
dec dword [esp + 0x58]
lea esi, [esp + 0x4c]
lea edi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
push 0x424
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x70]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x290]
movsd dword es:[edi], dword [esi]
push eax
push dword [esp + 0x20]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld qword [0x5946a8]
fmul qword [0x5714f0]
faddp st(1)
fiadd dword [esp + 0x4c]
call fcn.0051d1e0
push dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0x24
mov dword [ecx + 0x7c], eax
lea eax, [esp + 0x54]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x294]
push eax
push dword [esp + 0x24]
call fcn.00415c02
xor eax, eax
cmp dword [0x5946a4], eax
je 0x4047e7
inc dword [esp + 0x50]
inc dword [esp + 0x58]
fld qword [0x5946a8]
push str.Marlett
fmul qword [0x5714b0]
push eax
push 5
push eax
push 4
push 1
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
call fcn.0051d1e0
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
push dword [esp + 0x14]
mov dword [esp + 0x2c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
fld qword [0x5946a8]
fld qword [0x5714e0]
lea esi, [ebx + 0x1c]
lea edi, [esp + 0x2c]
fmul st(1)
fldz
movsd dword es:[edi], dword [esi]
fld st(0)
movsd dword es:[edi], dword [esi]
fsubrp st(2)
fxch st(1)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
sub dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
sub dword [esp + 0x34], eax
call fcn.0051d1e0
mov dword [esp + 0x30], eax
fxch st(1)
fmul qword [0x571500]
fsubp st(1)
call fcn.0051d1e0
mov esi, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x2c], eax
cmp dword [esi + 0x74], edi
je 0x4048b1
test byte [ebx + 0x10], 1
je 0x40488f
push 0x404040
jmp 0x4048d5
push 0x56c45c
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x4048a9
push dword [0x5946a0]
jmp 0x4048d5
push dword [0x59469c]
jmp 0x4048d5
test byte [ebx + 0x10], 1
jne 0x404888
push 0x56c45c
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x4048d0
push 0xc8c8c8
jmp 0x4048d5
push 0xe6e6e6
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [esp + 0x20]
add dword [esp + 0x34], 2
add dword [esp + 0x3c], 2
cmp dword [esi + 0x78], 1
push 0x8024
lea eax, [esp + 0x34]
push eax
push 0xffffffffffffffff
jne 0x404906
push 0x56c4b0
jmp 0x40490b
push 0x56c4b4
push dword [esp + 0x24]
call fcn.00415c02
push dword [esp + 0x14]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x14]
call esi
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x1c]
push 0xcc0020
push edi
push edi
push dword [esp + 0x1c]
sub edx, eax
push edx
mov edx, dword [ebx + 0x24]
sub edx, ecx
push edx
push eax
push ecx
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esp + 0x1c]
push dword [esp + 0x14]
call esi
push dword [esp + 0x28]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [esp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [esp + 0x24]
call esi
mov ecx, dword [esp + 0x490]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x478]
xor ecx, esp
call fcn.005182a2
mov esp, ebp
pop ebp
ret