Function at 0x14000d1d0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
mov rax, qword [0x14005b080]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov r15, rdx
mov dword [rsp + 0x38], ecx
mov edx, ecx
mov ebp, ecx
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov r11, rax
mov qword [rsp + 0x30], rax
call fcn.14000b0a0
movsx edi, al
call fcn.14000b090
movsx esi, al
mov r9d, esi
imul r9d, edi
call fcn.14000b0d0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx r10d, al
xor r14d, r14d
add ecx, r10d
lea eax, [rcx + r9*8]
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d505
movsx eax, byte [0x14005bcd2]
cmp r11, 0xffffffffffffffff
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, r14d
sete al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
lea eax, [r9 + r9*4]
lea ebx, [r10 + rax*2]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [0x14005bcd0]
add eax, ebx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d309
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000d309
lea r11d, [r14 + 0xa]
jmp 0x14000d36c
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d367
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x14005bcd0]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r11d, xmm0
jmp 0x14000d36c
mov r11d, dword [rsp + 0x20]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [r9 + r10]
lea ecx, [rcx + r9*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x14000d500
lea rdx, str.Failed_to_create_snapshot_for_process
lea rcx, [0x14005c4f0]
call fcn.140021a20
mov rcx, rax
mov edx, ebp
call fcn.14001f180
mov rcx, rax
call fcn.140021cd0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, ebx
div ecx
movsx ecx, byte [0x14005bcd3]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [0x14005bcd0]
add eax, ebx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d472
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000dcd5
call fcn.14000b0d0
movsx edx, al
mov ecx, edi
imul ecx, esi
lea eax, [rdx + rcx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d4f3
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14000d4f7
mov eax, dword [rsp + 0x20]
cmp r14d, eax
jl 0x14000dcd5
mov r11, qword [rsp + 0x30]
mov dword [rsp + 0x40], 0x438
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000db3c
lea rdx, [rsp + 0x40]
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_Module32FirstW]
movd xmm2, eax
movsx eax, byte [0x14005bcd2]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r13d, [rcx + rdx*2]
movsx ecx, byte [0x14005bcd0]
add eax, r13d
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d61d
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000d61d
mov r9d, 0xa
jmp 0x14000d6b2
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d6ad
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r9d, xmm0
jmp 0x14000d6b2
mov r9d, dword [rsp + 0x20]
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea esi, [rcx + rdx*2]
movsx ecx, byte [0x14005bcd0]
add eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000db3c
call fcn.14000b090
movsx edx, al
call fcn.14000b0a0
movsx ecx, al
imul edx, ecx
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*8]
mov dword [rsp + 0x20], eax
call fcn.14000b090
movsx ebx, al
call fcn.14000b0a0
movsx ecx, al
imul ebx, ecx
call fcn.14000b0d0
mov ebp, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x20]
movsx edi, al
nop word [rax + rax]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, esi
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000da10
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.14002fa80
test eax, eax
je 0x14000d79c
mov rdx, r15
lea rcx, [rsp + 0x270]
call fcn.14002fa80
test eax, eax
je 0x14000d79c
xor edx, edx
jmp 0x14000d7a1
mov edx, 1
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
xor edx, edx
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [0x14005bcd0]
add eax, r13d
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d838
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000d838
mov ebp, 0xa
jmp 0x14000d889
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, edi
lea eax, [rax + rbx*2]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d889
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, esi
div ecx
movsx ecx, byte [0x14005bcd3]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si ebp, xmm0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
imul ecx, ebx, 7
add ecx, edi
add eax, ecx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, ebp
test eax, eax
je 0x14000da10
lea rdx, str.DLL
lea rcx, [0x14005c4f0]
call fcn.140021a20
mov rcx, rax
mov rdx, r15
call fcn.140021a20
mov rcx, rax
lea rdx, str._is_already_loaded_in_process
call fcn.140021a20
mov edx, dword [rsp + 0x38]
mov rcx, rax
call fcn.14001f180
mov rcx, rax
call fcn.140021cd0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
add eax, dword [rsp + 0x20]
xorps xmm2, xmm2
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [0x14005bcd0]
add eax, r13d
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000d9b5
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000dcc5
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, edi
lea eax, [rax + rbx*2]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000da07
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, esi
div ecx
movsx ecx, byte [0x14005bcd3]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
test r12d, r12d
jg 0x14000dcc5
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_Module32NextW]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x14005bcd2]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [0x14005bcd0]
add eax, r13d
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000dab8
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000dab8
mov r14d, 0xa
jmp 0x14000db0a
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, edi
lea eax, [rax + rbx*2]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000db0a
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [0x14005bcd0]
add eax, esi
div ecx
movsx ecx, byte [0x14005bcd3]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rbx + rdi]
lea ecx, [rcx + rbx*2]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r14d
test eax, eax
jne 0x14000d750
xor r14d, r14d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
call fcn.14000b0d0
movsx ecx, al
xorps xmm2, xmm2
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
movsx eax, byte [0x14005bcd4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000dc36
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000dcd5
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000dccc
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14005bcd0]
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x14000dcd0
mov eax, 1
jmp 0x14000dcd7
mov eax, dword [rsp + 0x20]
cmp r14d, eax
jge 0x14000dcd7
xor eax, eax
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140025340
mov rbx, qword [rsp + 0x4e0]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret