Function at 0x402685
Capabilities:
Terminate process

Disassembly:
push 0x7c
mov eax, 0x5108de
call fcn.004d8af2
mov edi, ecx
mov dword [ebp - 0x78], edi
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [edi]
mov dword [ebp - 0x7c], ebx
cmp eax, 8
ja case.default.0x4026b5
jmp dword [eax*4 + 0x402e95]
mov esi, dword [edi + 4]
mov dword [ebp - 0x64], esi
test esi, esi
jne 0x4026f9
push 0x1fe
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x60]
call fcn.00406620
and dword [ebp - 4], esi
lea eax, [ebp - 0x60]
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff0
jmp 0x402e84
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x402752
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x1ff
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x60]
call fcn.00406620
mov dword [ebp - 4], 1
lea eax, [ebp - 0x60]
mov ecx, ebx
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x58]
jmp 0x402e81
and dword [ebp - 0x80], 0
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [ebp - 0x80], 0
jne 0x4027a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x203
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x60]
call fcn.00406620
mov dword [ebp - 4], 2
jmp 0x40273f
push dword [ebp - 0x80]
mov ecx, 0x1fffff
call fcn.00401338
mov esi, eax
pop ecx
mov dword [ebp - 0x84], esi
mov dword [ebp - 4], 3
test esi, esi
jne 0x402802
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x205
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x60]
call fcn.00406620
mov byte [ebp - 4], 4
jmp 0x40273f
push 0
push esi
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp eax, 0x102
jne 0x402837
push 0x20a
push 0x800700aa
push ecx
mov ecx, esp
call fcn.0040687a
mov ecx, ebx
call fcn.00406620
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x402e89
mov eax, dword [edi]
test eax, eax
je 0x40285a
cmp eax, 3
jne 0x402a8c
push 0
push 0
push 0x10
push dword [ebp - 0x64]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x402a8c
push dword [ebp - 0x64]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x40286e
push 0x212
jmp 0x402817
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x64]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [edi + 0xc]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
jne 0x4028b5
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x20]
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
mov edi, eax
mov eax, dword [ebp - 0x14]
sar edi, 1
lea eax, [eax + edx]
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
jmp 0x402a5e
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x54], esp
push 0x53d0c0
mov byte [ebp - 0x71], 1
call fcn.00406fea
push ecx
mov ecx, dword [ebp - 0x78]
mov edi, esp
mov byte [ebp - 4], 6
mov dword [ebp - 0x68], edi
mov ecx, dword [ecx + 0xc]
sub ecx, 0x10
call fcn.004070e7
mov dl, byte [ebp - 0x71]
lea ecx, [ebp - 0x60]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 5
call fcn.00404d2b
mov eax, dword [ebp - 0x5c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x60]
sub eax, ecx
cmp eax, 8
je 0x402995
push 0x21d
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x70]
call fcn.00406620
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 7
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x68]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x40282b
mov eax, dword [ebp - 0x5c]
cmp edi, eax
je 0x402974
mov ebx, eax
mov ecx, dword [edi]
sub ecx, 0x10
call fcn.00407189
add edi, 4
cmp edi, ebx
jne 0x40295d
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x58]
sub eax, edi
and eax, 0xfffffffc
push eax
push edi
call fcn.00405cbf
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
jmp 0x40282b
push 0
push dword [ecx]
call fcn.004e901a
mov eax, dword [ebp - 0x60]
push 0
fstp qword [ebp - 0x6c]
push dword [eax + 4]
call fcn.004e901a
fldz
add esp, 0x10
fld qword [ebp - 0x6c]
fcomi st(1)
jb 0x402b02
fld1
fcomi st(1)
jb 0x402b00
fxch st(3)
fcomi st(2)
fstp st(2)
jb 0x402a98
fxch st(2)
fcompi st(1)
jb 0x402a9a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
sub eax, ecx
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x78]
mov dword [ebp - 0x6c], ecx
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmulp st(2)
fxch st(1)
call fcn.0050fe40
mov edi, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
add edi, dword [ebp - 0x20]
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x78]
mov dword [ebp - 0x54], edi
fstp qword [ebp - 0x6c]
fmul qword [ebp - 0x6c]
call fcn.0050fe40
mov esi, dword [ebp - 0x60]
add ebx, eax
test esi, esi
je 0x402a58
mov edi, dword [ebp - 0x5c]
cmp esi, edi
je 0x402a44
mov ecx, dword [esi]
sub ecx, 0x10
call fcn.00407189
add esi, 4
cmp esi, edi
jne 0x402a30
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x58]
sub eax, esi
and eax, 0xfffffffc
push eax
push esi
call fcn.00405cbf
mov edi, dword [ebp - 0x54]
pop ecx
pop ecx
mov esi, dword [ebp - 0x84]
movzx ebx, bx
movzx eax, di
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
shl ebx, 0x10
or ebx, eax
push ebx
push 0
push 0x201
push dword [ebp - 0x64]
call edi
push ebx
push 0
push 0x202
push dword [ebp - 0x64]
call edi
mov ebx, dword [ebp - 0x7c]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x402e41
fstp st(2)
push 0x221
push 0x80004005
push ecx
fstp st(1)
mov ecx, esp
fstp st(0)
call fcn.0040687a
lea ecx, [ebp - 0x70]
call fcn.00406620
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 9
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x68]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x40282b
mov eax, dword [ebp - 0x5c]
cmp edi, eax
je 0x402974
mov ebx, eax
mov ecx, dword [edi]
sub ecx, 0x10
call fcn.00407189
add edi, 4
cmp edi, ebx
jne 0x402aea
jmp 0x40296e
fstp st(0)
push 0x220
push 0x80004005
fstp st(0)
push ecx
fstp st(1)
mov ecx, esp
fstp st(0)
call fcn.0040687a
lea ecx, [ebp - 0x70]
call fcn.00406620
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 8
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x68]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x40282b
mov eax, dword [ebp - 0x5c]
cmp edi, eax
je 0x402974
mov ebx, eax
mov ecx, dword [edi]
sub ecx, 0x10
call fcn.00407189
add edi, 4
cmp edi, ebx
jne 0x402b54
jmp 0x40296e
push dword [edi + 8]
mov ecx, 0x1fffff
call fcn.00401338
mov esi, eax
pop ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 4], 0xa
test esi, esi
jne 0x402bc5
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x259
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x60]
call fcn.00406620
mov byte [ebp - 4], 0xb
jmp 0x40273f
lea ecx, [ebp - 0x64]
call fcn.0040687a
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xc
push eax
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.004017fd
pop ecx
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x60], 0
jge 0x402c4e
cmp dword [ebp - 0x5c], 0
mov eax, 0x25c
cmovne eax, dword [ebp - 0x5c]
push eax
push dword [ebp - 0x60]
push ecx
mov edi, esp
mov dword [ebp - 0x54], edi
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [edi], eax
call fcn.00406620
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x64]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x40282b
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea edx, [edi + 0xc]
lea ecx, [ebp - 0x64]
call fcn.00405d14
test al, al
jne 0x402c9a
push 0x25d
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x14]
jmp 0x402c36
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x64]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x402a8c
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
jmp 0x402e41
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
mov ecx, dword [ebp - 0x54]
lea eax, [edi + 0xc]
push eax
call fcn.00405d6e
jmp 0x402e41
push 0x2c
push ecx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
push eax
call fcn.004d9f30
add esp, 0xc
lea eax, [ebp - 0x50]
push 0
push 0x30
push eax
push 2
push esi
call dword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
test eax, eax
jne 0x402d40
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x26f
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
mov dword [ebp - 4], 0x10
jmp 0x402e73
push dword [edi + 0xc]
call fcn.004e4bc4
pop ecx
test eax, eax
je 0x402d56
or dword [ebp - 0x40], 8
mov dword [ebp - 0x34], eax
jmp 0x402d5e
and dword [ebp - 0x40], 0xfffffff7
and dword [ebp - 0x34], 0
push 0x30
lea eax, [ebp - 0x50]
push eax
push 2
push esi
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
test eax, eax
jne 0x402e41
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x278
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
mov dword [ebp - 4], 0x11
jmp 0x402e73
mov eax, dword [edi + 4]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x402de5
push 0x27e
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
mov dword [ebp - 4], 0x12
jmp 0x402e73
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x402e2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x27f
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
mov dword [ebp - 4], 0x13
jmp 0x402e73
push 0x80
push 0
push 0x10000000
lea ecx, [ebp - 0x54]
call fcn.00405c3e
and dword [ebx], 0
lea ecx, [ebx + 8]
and dword [ebx + 4], 0
call fcn.0040687a
jmp 0x402e89
push 0x284
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1c]
call fcn.00406620
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, ebx
call fcn.004d8aa1
ret 0xc