Function at 0x408340
Capabilities:
Get graphical window text
Hide graphical window
Terminate process

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x230
push ebx
push esi
mov esi, ecx
push edi
mov ecx, eax
shr ecx, 0x10
cmp ecx, 0x400
jne 0x40848f
xor ebx, ebx
add esi, 0xcc
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x32]
mov word [esp + 0x30], bx
push ebp
lea edx, [esp + 0x34]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
push 0x104
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov edx, dword [esi + 4]
xor ecx, ecx
mov dword [esp + 0x14], ecx
push edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ecx
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
mov edi, eax
mov eax, dword [esi + 0x54]
push eax
push edi
call ebx
lea ecx, [esp + 0x10]
push 0x400
lea edx, [esp + 0x38]
push ecx
push edx
mov ebp, eax
call fcn.0041009c
add esp, 4
push eax
lea eax, [esp + 0x40]
push eax
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
push ebp
push edi
call ebx
lea ecx, [esi + 0x34]
mov ebx, dword [esi + 0x4c]
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
mov ebp, dword [ecx + 4]
mov dword [esp + 0x24], ebp
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
lea ecx, [edx + eax + 0x1e]
cmp ecx, ebx
mov dword [esp + 0x28], ecx
jle 0x408421
mov ecx, ebx
mov dword [esp + 0x28], ecx
mov ebx, ecx
sub ebx, edx
lea ecx, [ebx - 0x1e]
test ecx, ecx
jg 0x408437
mov ecx, ebx
test ecx, ecx
jg 0x408437
mov ecx, 1
cmp eax, ecx
mov ebx, 1
jle 0x408449
mov edx, ecx
add edx, ecx
inc ebx
cmp eax, edx
jg 0x408442
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
sub edx, eax
mov eax, dword [esi + 0x50]
imul edx, ebx
lea ecx, [edx + ebp + 0x1e]
pop ebp
cmp ecx, eax
mov dword [esp + 0x28], ecx
jle 0x40846a
mov dword [esp + 0x28], eax
mov eax, dword [esi + 4]
push edi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004085f0
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x230
ret 0x10
lea ecx, [eax - 0x500]
cmp ecx, 0xa
ja case.default.0x40849e
jmp dword [ecx*4 + 0x4085bc]
mov ecx, esi
call fcn.00408910
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x230
ret 0x10
mov ecx, esi
call fcn.00408100
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x230
ret 0x10
mov edx, dword [esp + 0x248]
mov ecx, esi
push edx
push eax
call fcn.00408d30
mov eax, dword [esi + 0xc8]
test eax, eax
je case.default.0x40849e
cmp dword [eax + 0x74], 0x505
je case.default.0x40849e
mov eax, dword [esi + 0xd0]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x230
ret 0x10
mov eax, dword [esi + 0xb0]
test eax, eax
je case.default.0x40849e
mov ecx, dword [esi + 0xb4]
sub ecx, eax
sar ecx, 2
je case.default.0x40849e
mov ecx, eax
test ecx, ecx
je 0x40854e
mov eax, dword [esi + 0xb4]
sub eax, ecx
sar eax, 2
mov edx, dword [esi + 0xb0]
lea edi, [eax*4 - 4]
mov ecx, dword [edi + edx]
test ecx, ecx
je 0x408568
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
add edi, ebx
lea eax, [edi + 4]
cmp eax, ecx
je 0x40858d
mov edx, edi
sub edx, eax
mov edi, dword [eax]
mov dword [edx + eax], edi
add eax, 4
cmp eax, ecx
jne 0x408581
mov eax, dword [esi + 0xb4]
push 1
add eax, 0xfffffffc
push 0
mov dword [esi + 0xb4], eax
mov ecx, dword [esi + 4]
push ecx
mov dword [esp + 0x38], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x230
ret 0x10