Function at 0x140047600
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x3170
call fcn.14004a130
sub rsp, rax
mov rax, qword [0x140064010]
xor rax, rsp
mov qword [rsp + 0x3160], rax
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rcx
mov ecx, 1
mov dword [rsp + 0x28], ecx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r14], xmm0
mov qword [r14], rax
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
mov dword [rsp + 0x28], ecx
lea r8, [rsp + 0x48]
mov edx, 0x1000
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_K32EnumProcesses]
test eax, eax
jne 0x1400476a6
lea rdx, str.Failed_to_enumerate_processes.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400021d0
lea rdx, [0x14000b8f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140047828
mov ebx, dword [rsp + 0x48]
shr rbx, 2
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x140047828
xor r13d, r13d
nop
mov eax, dword [rsp + r13*4 + 0x50]
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x30], eax
mov r8d, eax
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
test rax, rax
je 0x14004781c
xor bpl, bpl
xor r15b, r15b
xor sil, sil
lea r9, [rsp + 0x4c]
mov r8d, 0x2000
lea rdx, [rsp + 0x1050]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_K32EnumProcessModules]
test eax, eax
je 0x140047813
xor ebx, ebx
mov edi, dword [rsp + 0x4c]
shr rdi, 3
test rdi, rdi
je 0x14004780e
lea r14d, [rbx + 1]
nop dword [rax]
mov r9d, 0x104
lea r8, [rsp + 0x3050]
mov rdx, qword [rsp + rbx*8 + 0x1050]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_K32GetModuleBaseNameA]
test eax, eax
je 0x1400477ca
lea rdx, str..exe
lea rcx, [rsp + 0x3050]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x1400477ca
lea rdx, str.java.dll
lea rcx, [rsp + 0x3050]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14004778c
movzx ebp, r14b
jmp 0x1400477ca
lea rdx, str.opengl32.dll
lea rcx, [rsp + 0x3050]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x1400477ab
movzx r15d, r14b
jmp 0x1400477ca
lea rdx, str.OpenAL.dll
lea rcx, [rsp + 0x3050]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
movzx esi, sil
test eax, eax
cmove esi, r14d
inc rbx
cmp rbx, rdi
jl 0x140047730
test bpl, bpl
mov r14, qword [rsp + 0x38]
je 0x14004780e
test r15b, r15b
je 0x14004780e
test sil, sil
je 0x14004780e
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140047801
mov eax, dword [rsp + 0x2c]
mov dword [rdx], eax
add qword [r14 + 8], 4
jmp 0x14004780e
lea r8, [rsp + 0x30]
mov rcx, r14
call fcn.140047f10
mov rbx, qword [rsp + 0x20]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r13
cmp r13, rbx
jl 0x1400476c0
mov rax, r14
mov rcx, qword [rsp + 0x3160]
xor rcx, rsp
call fcn.140048f00
lea r11, [rsp + 0x3170]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret