Function at 0x180005a50
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rsi, rcx
mov rdi, qword [0x1800dc9e0]
mov rbx, qword [0x1800dc9d8]
cmp rbx, rdi
je 0x180005abc
nop dword [rax]
mov rcx, qword [rbx]
call qword [sym.imp.GDI32.dll_DeleteObject]
add rbx, 8
cmp rbx, rdi
jne 0x180005a90
mov rdi, qword [0x1800dc9e0]
mov rbx, qword [0x1800dc9d8]
cmp rbx, rdi
je 0x180005abc
mov qword [0x1800dc9e0], rbx
mov r14, qword [rsi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 6
jb 0x180005e90
mov r12, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180005ae7
mov r12, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea r15, [r14 + 6]
mov ebx, 0xf
lea rdi, [rsp + 0x50]
movabs rax, 0x8000000000000000
lea edx, [rbx + 7]
cmp r15, rbx
jbe 0x180005b83
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x180005b4a
mov rbx, rcx
add rax, 0x27
mov rcx, rax
call fcn.18004df78
test rax, rax
je 0x180005e96
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180005b7e
cmp rbx, rdx
cmovb rbx, rdx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180005b6d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180005e8a
jmp 0x180005b2b
test rcx, rcx
je 0x180005b7c
call fcn.18004df78
mov rdi, rax
jmp 0x180005b7e
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.18004ff20
mov eax, dword [str..bmp]
mov dword [rdi + r14], eax
movzx eax, word [0x18007d1c0]
mov word [rdi + r14 + 4], ax
mov byte [rdi + r15], 0
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
lea rdx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x180005e16
xor ebx, ebx
mov r14, qword [rsi + 0x10]
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, r14
cmp rcx, 1
jb 0x180005e84
mov r12, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180005c0c
mov r12, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
lea r15, [r14 + 1]
mov ebx, 0xf
lea rdi, [rsp + 0x30]
cmp r15, rbx
jbe 0x180005cac
mov rbx, r15
or rbx, 0xf
cmp rbx, rax
jbe 0x180005c50
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180005c77
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180005c96
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180005ea2
mov rcx, rax
call fcn.18004df78
test rax, rax
je 0x180005e9c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180005ca7
test rcx, rcx
je 0x180005ca5
call fcn.18004df78
mov rdi, rax
jmp 0x180005ca7
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.18004ff20
mov byte [rdi + r14], 0x5c
mov byte [rdi + r15], 0
lea rdx, [rbp - 0x44]
lea rcx, [rsp + 0x30]
call fcn.1800083f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180005d49
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005d44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005ea8
call fcn.18004de8c
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageA]
mov qword [rbp + 0x100], rax
test rax, rax
je 0x180005dbc
mov rdx, qword [0x1800dc9e0]
cmp rdx, qword [0x1800dc9e8]
je 0x180005daf
mov qword [rdx], rax
add qword [0x1800dc9e0], 8
jmp 0x180005dbc
lea r8, [rbp + 0x100]
call fcn.180013bf0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180005df8
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005df3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005eae
call fcn.18004de8c
lea rdx, [rbp - 0x70]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x180005be1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [0x1800dc9a8]
call qword [sym.imp.USER32.dll_InvalidateRect]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x180005e63
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005e5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005e96
call fcn.18004de8c
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800012f0
nop
call fcn.180001250
int3
call fcn.1800012f0
int3
call fcn.18005ab4c
nop
call fcn.18005ab4c
int3
call fcn.180001250
nop
call fcn.18005ab4c
nop
call fcn.18005ab4c
int3