Function at 0x5983f0
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e3e6d
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x676580]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd0], ecx
push 0x6237e4
call fcn.005ac970
add esp, 4
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.0040ee60
movzx eax, al
test eax, eax
je 0x59858b
mov ecx, dword [ebp - 0xd0]
add ecx, 0x24
call fcn.0040ee60
movzx ecx, al
test ecx, ecx
je 0x59858b
push 0x623808
mov ecx, dword [ebp - 0xd0]
add ecx, 0xc
call fcn.0040b1c0
cmp dword [0x67e1c8], 0
je 0x598584
mov dword [ebp - 0x6c], 0
push 0x623898
lea ecx, [ebp - 0x64]
call fcn.004092b0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 8], 0
jne 0x5984b0
mov dword [ebp - 0xd4], 0xffffffff
jmp 0x5984d0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx]
call eax
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x68]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ecx
mov byte [ebp - 4], 1
lea edx, [ebp - 0x6c]
push edx
push str.process_name_and_path_is_empty
push 0x6238e4
mov ecx, dword [ebp - 0xdc]
call fcn.00493020
push eax
push 0x623868
push 0x623860
lea eax, [ebp - 0x60]
push eax
push 0x623848
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x68]
call fcn.00403270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00403270
xor eax, eax
jmp 0x598cd9
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xd0]
add eax, 0x24
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.005c2e90
add esp, 0xc
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.0040ee60
movzx edx, al
test edx, edx
je 0x59873f
lea ecx, [ebp - 0x20]
call fcn.00493020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.0040b1c0
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.0040ee60
movzx eax, al
test eax, eax
je 0x59873f
push 0x62386c
mov ecx, dword [ebp - 0xd0]
add ecx, 0xc
call fcn.0040b1c0
cmp dword [0x67e1c8], 0
je 0x598721
mov dword [ebp - 0x7c], 0
push 0x623950
lea ecx, [ebp - 0x74]
call fcn.004092b0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 8], 0
jne 0x598652
mov dword [ebp - 0xe0], 0xffffffff
jmp 0x598670
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x70], ecx
lea edx, [ebp - 0x74]
push edx
lea eax, [ebp - 0x78]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x7c]
push edx
push str.process_name_is_empty
push 0x62399c
mov ecx, dword [ebp - 0xe8]
call fcn.00493020
push eax
push 0x62394c
push 0x623944
lea eax, [ebp - 0x70]
push eax
push 0x62392c
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x78]
call fcn.00403270
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74]
call fcn.00403270
mov dword [ebp - 0x80], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0x80]
jmp 0x598cd9
lea ecx, [ebp - 0x50]
call fcn.00572f90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
call fcn.00403290
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.004b0c00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.00493020
push eax
call fcn.00572000
add esp, 8
lea ecx, [ebp - 0x10]
call fcn.00403290
mov byte [ebp - 4], 8
lea edx, [ebp - 0x88]
push edx
lea ecx, [ebp - 0x1c]
call fcn.004d5bb0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
jmp 0x5987ae
lea ecx, [ebp - 0x5c]
call fcn.00463dd0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00403210
mov ecx, eax
call fcn.00519c20
movzx edx, al
test edx, edx
je 0x598b2e
lea ecx, [ebp - 0x5c]
call fcn.004d4ee0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp - 0x50]
call fcn.005727b0
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xf0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040ca60
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x94]
call fcn.00403270
cmp dword [0x67e1c8], 0
je 0x598974
mov dword [ebp - 0xa4], 0
push 0x623a10
lea ecx, [ebp - 0x9c]
call fcn.004092b0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 8], 0
jne 0x598864
mov dword [ebp - 0xf4], 0xffffffff
jmp 0x598882
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x98], ecx
lea edx, [ebp - 0x9c]
push edx
lea eax, [ebp - 0xa0]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xfc], ecx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xa4]
push edx
lea ecx, [ebp - 0x10]
call fcn.00493020
push eax
push 0x6239f4
lea ecx, [ebp - 0x5c]
call fcn.004d4ee0
push eax
push str.pid_is
push 0x623a5c
mov ecx, dword [ebp - 0xfc]
call fcn.00493020
push eax
push 0x6239f0
push 0x6239e8
lea eax, [ebp - 0x98]
push eax
push 0x6239d0
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004b3ee0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa0]
call fcn.00403270
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x9c]
call fcn.00403270
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.0058b610
add esp, 8
test eax, eax
je 0x598b29
cmp dword [0x67e1c8], 0
je 0x598ad5
mov dword [ebp - 0xb4], 0
push 0x623a98
lea ecx, [ebp - 0xac]
call fcn.004092b0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 8], 0
jne 0x5989cf
mov dword [ebp - 0x100], 0xffffffff
jmp 0x5989ed
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xa8], ecx
lea edx, [ebp - 0xac]
push edx
lea eax, [ebp - 0xb0]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0xb4]
push edx
push str._is_exist
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.00493020
push eax
push str.process:
push 0x623ae4
mov ecx, dword [ebp - 0x108]
call fcn.00493020
push eax
push 0x623a94
push 0x623a8c
lea eax, [ebp - 0xa8]
push eax
push 0x623a74
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xb0]
call fcn.00403270
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xac]
call fcn.00403270
mov dword [ebp - 0xb8], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10]
call fcn.00403270
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.004b0ab0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
call fcn.00403270
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call fcn.005728b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0xb8]
jmp 0x598cd9
jmp 0x5987a6
push str.process_not_exist
mov ecx, dword [ebp - 0xd0]
add ecx, 0xc
call fcn.0040b1c0
cmp dword [0x67e1c8], 0
je 0x598c8a
mov dword [ebp - 0xc8], 0
push str.ProcessExistCondition2::IsRecommanded
lea ecx, [ebp - 0xc0]
call fcn.004092b0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 8], 0
jne 0x598b84
mov dword [ebp - 0x10c], 0xffffffff
jmp 0x598ba2
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xbc], ecx
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xc4]
push eax
call fcn.005c21b0
add esp, 8
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x114], ecx
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0xc8]
push edx
push str._not_exist
mov ecx, dword [ebp - 0xd0]
add ecx, 0x20
call fcn.00493020
push eax
push 0x623b5c
push 0x623bbc
mov ecx, dword [ebp - 0x114]
call fcn.00493020
push eax
push 0x623b58
push 0x623b50
lea eax, [ebp - 0xbc]
push eax
push 0x623b38
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc4]
call fcn.00403270
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc0]
call fcn.00403270
mov dword [ebp - 0xcc], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10]
call fcn.00403270
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.004b0ab0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
call fcn.00403270
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call fcn.005728b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret