Function at 0x180067590
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1210]
mov eax, 0x1310
call fcn.1800726d0
sub rsp, rax
mov rax, qword [0x180080a28]
xor rax, rsp
mov qword [rbp + 0x1200], rax
imul eax, ecx, 0x118
xor edi, edi
mov r13, r8
mov qword [rsp + 0x68], r9
mov r11, r9
mov qword [rbp - 0x70], rdx
mov r8, rdx
mov dword [rsp + 0x60], ecx
mov esi, ecx
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x40], eax
mov ebx, ecx
cmp ecx, eax
ja 0x180067c13
mov rax, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x70]
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp ebx, 0x666
ja 0x1800677ab
je 0x180067792
cmp ebx, 0xde
ja 0x180067733
je 0x1800676fb
mov eax, ebx
sub eax, 0x12
je 0x1800676df
sub eax, 0x3c
je 0x1800676d3
cmp eax, 0x4f
jne 0x180067ba2
mov eax, dword [r11]
mov dword [rbp - 0x68], eax
mov eax, dword [r13]
inc eax
cmp dword [r11 + 4], eax
jge 0x180067ba2
xor r9d, r9d
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov r8, r11
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x5f]
call fcn.18004c460
test eax, eax
je 0x180067b9d
nop word [rax + rax]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x1200]
xor rcx, rsp
call fcn.180072740
mov rbx, qword [rsp + 0x1350]
add rsp, 0x1310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r13], rdi
mov qword [r8], rdi
jmp 0x180067ba2
cmp dword [r13], 0xffff
jle 0x180067ba2
lea rcx, str.khoisansprog
call fcn.180071d80
jmp case.0x180067c11.7
cmp dword [r13], 0
jg 0x180067ba2
mov eax, 0x5b
nop dword [rax + rax]
cmp eax, 0x5b
je 0x18006771e
cmp eax, 0xee
je case.0x180067c11.7
jmp 0x180067722
mov dword [rsp + 0x48], edi
add eax, 0x93
cmp eax, 0x181
jb 0x180067710
jmp 0x180067ba2
cmp ebx, 0x17a
je 0x180067775
cmp ebx, 0x2e2
je 0x180067769
cmp ebx, 0x44a
jne 0x180067ba2
movsxd rcx, dword [r13]
add rcx, rcx
mov rcx, qword [r11 + rcx*8 + 0x4478d8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180067b9d
dec dword [r11 + 0x54b8c0]
jmp 0x180067ba2
movsxd rax, dword [r13]
add rax, 0x4478d
add rax, rax
cmp dword [r11 + rax*8], 0
je case.0x180067c11.7
jmp 0x180067ba2
mov rdx, rdi
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r9
jmp 0x180067bac
cmp ebx, 0x31ad
ja 0x180067b1d
je 0x180067b01
cmp ebx, 0xce1
je 0x180067a5c
cmp ebx, 0x1925
je 0x180067960
cmp ebx, 0x2569
jne 0x180067ba2
mov r12d, dword [rbp - 0x68]
mov edi, 0x6e
nop word [rax + rax]
cmp edi, 0x15b
ja 0x1800678ab
je 0x180067897
mov eax, edi
sub eax, 0x6e
je 0x18006786f
sub eax, 0x4f
je 0x180067825
cmp eax, 0x4f
jne 0x180067938
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x78], rax
jmp 0x180067938
mov eax, dword [r13]
lea eax, [rax*2 + 1]
cmp r15d, eax
jg 0x180067938
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x60]
mov rax, qword [rdx]
inc r15d
shr rax, 0x1c
add rdx, 8
add qword [rcx], rax
add rcx, 8
mov eax, dword [r13]
lea eax, [rax*2 + 1]
cmp r15d, eax
jle 0x180067841
mov qword [rbp - 0x60], rdx
jmp 0x180067934
movsxd rax, r15d
lea rcx, [rbp + 0xf0]
inc r15d
lea rcx, [rcx + rax*8]
movsxd rax, r15d
mov qword [rbp - 0x60], rcx
lea rcx, [rbp + 0xf0]
lea rcx, [rcx + rax*8]
jmp 0x180067934
movsxd rax, dword [r13]
lea rcx, [rbp + 0xf0]
lea rcx, [rcx + rax*8]
jmp 0x180067934
mov eax, edi
sub eax, 0x1aa
je 0x1800678ed
cmp eax, 0x4f
jne 0x180067938
cmp r15d, r12d
jge 0x180067938
mov rcx, qword [rsp + 0x78]
mov eax, r12d
sub eax, r15d
xor edx, edx
movsxd rbx, eax
add r15d, eax
shl rbx, 2
mov r8, rbx
and r8, 0xfffffffffffffffc
call sub.VCRUNTIME140.dll_memset
add qword [rsp + 0x78], rbx
mov r11, qword [rsp + 0x68]
jmp 0x180067938
mov eax, dword [r13]
xor r15d, r15d
inc eax
test eax, eax
jle 0x180067938
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx]
inc r15d
and eax, 0xfffffff
add rcx, 8
mov dword [rdx], eax
add rdx, 4
mov eax, dword [r13]
inc eax
cmp r15d, eax
jl 0x180067910
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rcx
add edi, 0x4f
cmp edi, 0x248
jb 0x1800677f0
mov eax, dword [r13]
mov r12d, dword [rsp + 0x70]
inc eax
mov ebx, dword [rsp + 0x58]
xor edi, edi
mov dword [r11], eax
jmp 0x180067ba2
cmp dword [r13], 0
mov r15d, edi
jle 0x180067ba2
lea r10, [rbp + 0xf0]
nop word [rax + rax]
mov r9d, 0x33
cmp r9d, 0x33
je 0x180067a1f
cmp r9d, 0x191a
je 0x1800679b3
cmp r9d, 0x3201
jne 0x180067a2d
mov rax, qword [r10]
shr rax, 0x1c
add qword [r10 + 8], rax
jmp 0x180067a2d
mov r8d, 3
nop dword [rax]
mov eax, r8d
sub eax, 3
je 0x180067a0c
sub eax, 1
je 0x1800679fc
cmp eax, 1
jne 0x180067a10
cmp dword [r13], 0
mov ecx, edi
jle 0x180067a10
mov edx, r12d
nop
mov eax, dword [r14]
inc ecx
imul rax, rdx
add r14, 4
add qword [rsi], rax
add rsi, 8
cmp ecx, dword [r13]
jl 0x1800679e0
jmp 0x180067a10
mov eax, r15d
lea rsi, [rbp + 0xf0]
lea rsi, [rsi + rax*8]
jmp 0x180067a10
mov r14, qword [r13 + 0x10]
inc r8d
cmp r8d, 6
jb 0x1800679c0
mov r8, qword [rbp - 0x70]
jmp 0x180067a2d
mov r12d, dword [r10]
imul r12d, dword [r8]
and r12d, 0xfffffff
add r9d, 0x18e7
cmp r9d, 0x4ab5
jbe 0x180067986
inc r15d
mov dword [rsp + 0x70], r12d
add r10, 8
cmp r15d, dword [r13]
jl 0x180067980
jmp 0x180067ba2
mov ecx, 0x93
mov eax, ecx
sub eax, 0x91
je 0x180067a8c
sub eax, 1
je 0x180067a81
cmp eax, 1
jne 0x180067aee
lea rax, [rbp + 0xf0]
mov qword [rbp - 0x78], rax
jmp 0x180067aee
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x50], rax
jmp 0x180067aee
cmp dword [r11], 0
mov r15d, edi
mov rdx, qword [rbp - 0x78]
jle 0x180067abf
mov r8, qword [rsp + 0x50]
nop
mov eax, dword [r8]
inc r15d
mov qword [rdx], rax
add r8, 4
add rdx, 8
cmp r15d, dword [r11]
jl 0x180067aa0
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x78], rdx
mov eax, dword [r13]
lea eax, [rax*2 + 1]
cmp r15d, eax
jge 0x180067aee
nop
mov qword [rdx], rdi
inc r15d
mov eax, dword [r13]
add rdx, 8
lea eax, [rax*2 + 1]
cmp r15d, eax
jl 0x180067ad0
mov qword [rbp - 0x78], rdx
dec ecx
cmp ecx, 0x90
ja 0x180067a61
jmp 0x180067ba2
xor r9d, r9d
mov dword [rsp + 0x20], 0x8e
mov r8, r11
xor edx, edx
xor ecx, ecx
call fcn.180037c30
jmp 0x180067b9d
cmp ebx, 0x3df1
je 0x180067b33
cmp ebx, 0x4a35
je case.0x180067c11.7
jmp 0x180067ba2
mov qword [rsp + 0x28], rdi
mov r9d, 0x142
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, r13
mov rcx, r11
call fcn.18003f0a0
cmp eax, 0xffffffff
je 0x180067b99
mov ebx, 0x84
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x83
je case.0x180067c11.7
cmp eax, 1
jne 0x180067b8b
mov r8, qword [rsp + 0x68]
mov r9, r13
mov rcx, r8
mov edx, 0x94
call fcn.180057660
mov dword [rsp + 0x48], eax
dec ebx
cmp ebx, 0x82
ja 0x180067b60
mov ebx, dword [rsp + 0x58]
mov dword [rsp + 0x48], edi
mov r11, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov eax, dword [rsp + 0x60]
mov r8, qword [rbp - 0x70]
lea eax, [rax + rax*4]
lea ebx, [rbx + rax*4]
mov dword [rsp + 0x58], ebx
cmp ebx, dword [rsp + 0x40]
jbe 0x180067620
mov esi, dword [rsp + 0x60]
lea r12d, [rsi + 0xd]
cmp esi, r12d
jae case.0x180067c11.7
mov rbx, qword [rsp + 0x50]
lea r15d, [rsi - 0x12]
mov rdi, qword [rsp + 0x50]
lea r10, [0x180000000]
nop
cmp r15d, 0xeb
ja case.0x180067c11.1
movzx eax, byte [r10 + r15 + 0x67ff0]
mov ecx, dword [r10 + rax*4 + 0x67fc0]
add rcx, r10
jmp rcx
mov rdx, qword [rsp + 0x50]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r9
jmp 0x180067bcc
mov dword [rsp + 0x48], 0
jmp case.0x180067c11.1
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_FindClose]
mov r9, qword [rsp + 0x38]
jmp 0x180067f7d
mov qword [r8], rdx
mov dword [rsp + 0x48], 0
jmp case.0x180067c11.1
cmp r9, 0xffffffffffffffff
je 0x180067fb0
nop dword [rax]
nop word [rax + rax]
mov esi, 0xb
imul r14, rdx, 0x110
nop dword [rax]
cmp esi, 0xb
je 0x180067d0f
cmp esi, 0x76
jne 0x180067d3e
lea r8, [rbp - 0x24]
mov rcx, rbx
lea rdx, [0x1800777e4]
call fcn.180071e10
test byte [rbp - 0x50], 0x10
je 0x180067cc2
mov qword [rbx + 0x108], 0
mov dword [rbx + 0x100], 1
jmp 0x180067d39
mov ecx, 0x120
mov eax, ecx
sub eax, 0x120
je 0x180067cf4
sub eax, 0x47
je 0x180067ce6
cmp eax, 0x47
jne 0x180067d02
mov dword [rbx + 0x100], 0
jmp 0x180067d02
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x108], rax
jmp 0x180067d02
mov eax, dword [rbp - 0x30]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x34]
mov dword [rsp + 0x54], eax
add ecx, 0x47
cmp ecx, 0x1f5
jb 0x180067cc7
jmp 0x180067d39
mov rcx, qword [r13]
inc rdx
mov qword [rsp + 0x30], rdx
add r14, 0x110
mov rdx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [r13], rax
lea rbx, [rax - 0x110]
add rbx, r14
mov rdx, qword [rsp + 0x30]
add esi, 0x6b
cmp esi, 0xe1
jb 0x180067c80
mov rcx, qword [rsp + 0x38]
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov rdx, qword [rsp + 0x30]
test eax, eax
jne 0x180067c70
mov esi, dword [rsp + 0x60]
mov r9, qword [rsp + 0x38]
jmp 0x180067f82
movsxd rax, dword [r13]
xor ecx, ecx
add rax, rax
mov qword [r11 + rax*8 + 0x4478d8], rcx
movsxd rax, dword [r13]
add rax, 0x4478d
add rax, rax
mov dword [r11 + rax*8], ecx
jmp case.0x180067c11.1
mov eax, dword [r13]
lea rcx, [rsp + 0x40]
mov r8, r11
mov dword [rsp + 0x40], eax
mov edx, 0x2c
call fcn.18005d040
mov rdx, qword [rsp + 0x68]
mov r8, rax
mov ecx, 0x19
call fcn.180062bf0
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
jmp 0x180067f7d
mov edx, dword [r13]
add edx, dword [r11]
cmp dword [r11 + 4], edx
jge 0x180067e12
xor r9d, r9d
mov dword [rsp + 0x40], edx
lea rax, [rsp + 0x40]
mov r8, r11
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x5f]
call fcn.18004c460
test eax, eax
jne 0x1800676a0
mov r11, qword [rsp + 0x68]
mov r10d, 0xdb
nop dword [rax + rax]
mov eax, r10d
sub eax, 0xd9
je 0x180067e87
sub eax, 1
je 0x180067e4b
cmp eax, 1
jne 0x180067eae
mov eax, dword [r13]
add dword [r11], eax
movsxd rdi, dword [r11]
mov rax, qword [r11 + 0x10]
dec rdi
lea rdi, [rax + rdi*4]
jmp 0x180067eae
movsxd rdx, dword [r11]
movsxd r8, dword [r13]
mov r9, rdx
mov rax, qword [r11 + 0x10]
sub r9, r8
dec r9
dec edx
lea r9, [rax + r9*4]
cmp edx, r8d
jl 0x180067eae
nop word [rax + rax]
mov eax, dword [r9]
lea r9, [r9 - 4]
mov dword [rdi], eax
dec edx
sub rdi, 4
cmp edx, dword [r13]
jge 0x180067e70
jmp 0x180067eae
mov rdi, qword [r11 + 0x10]
xor ecx, ecx
mov eax, ecx
cmp dword [r13], ecx
jle 0x180067eae
nop word [rax + rax]
mov dword [rdi], ecx
inc eax
add rdi, 4
cmp eax, dword [r13]
jl 0x180067ea0
dec r10d
cmp r10d, 0xd8
ja 0x180067e20
mov r9, qword [rsp + 0x38]
jmp 0x180067f7d
xor edx, edx
lea rcx, [rbp + 0xf0]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x10f0]
mov edx, 2
lea rax, [rbp + 0xf0]
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180067ef0
mov eax, dword [rax]
mov r9, qword [rsp + 0x38]
mov dword [rcx], eax
jmp 0x180067f7d
mov r8, r11
lea rdx, str._s.
lea rcx, [rbp + 0x10f0]
call fcn.180071e10
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x10f0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r9, rax
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x30]
lea r10, [0x180000000]
inc esi
inc r15d
mov dword [rsp + 0x60], esi
cmp esi, r12d
jae case.0x180067c11.7
mov r11, qword [rsp + 0x68]
mov r8, qword [rbp - 0x70]
jmp 0x180067bf0
mov dword [rsp + 0x48], 1
jmp case.0x180067c11.7