Function at 0x140035cb0
Capabilities:
Enumerate files on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5f8
movaps xmmword [rsp + 0x5e0], xmm6
mov r15, r8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
test rcx, rcx
je 0x140035f01
mov rdi, rdx
mov rsi, rcx
movups xmm1, xmmword [r9 + 0x50]
movaps xmmword [rsp + 0x120], xmm1
movups xmm1, xmmword [r9 + 0x40]
movaps xmmword [rsp + 0x110], xmm1
movups xmm1, xmmword [r9]
movups xmm2, xmmword [r9 + 0x10]
movups xmm3, xmmword [r9 + 0x20]
movups xmm4, xmmword [r9 + 0x30]
movaps xmmword [rsp + 0x100], xmm4
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movups xmm1, xmmword [rdx]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0x320], xmm0
movaps xmmword [rsp + 0x310], xmm0
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x2f0], xmm0
mov qword [rsp + 0x330], 0
lea rcx, [0x14008e9a8]
lea r8, [rsp + 0x2f0]
mov rdx, rsi
call fcn.140039770
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmmword [rsp + 0x310]
movaps xmm3, xmmword [rsp + 0x320]
movaps xmmword [rsp + 0x360], xmm2
movaps xmmword [rsp + 0x340], xmm0
movaps xmmword [rsp + 0x350], xmm1
movaps xmmword [rsp + 0x370], xmm3
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x380], rax
cmp byte [rsp + 0x36c], 0
je 0x1400361c7
lea rbp, [rsp + 0xe0]
cmp rbp, rdi
je 0x140035ee5
movzx eax, byte [rsp + 0xe0]
cmp al, byte [rdi]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe1]
cmp al, byte [rdi + 1]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe2]
cmp al, byte [rdi + 2]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe3]
cmp al, byte [rdi + 3]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe4]
cmp al, byte [rdi + 4]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe5]
cmp al, byte [rdi + 5]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe6]
cmp al, byte [rdi + 6]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe7]
cmp al, byte [rdi + 7]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe8]
cmp al, byte [rdi + 8]
jne 0x140035f0a
movzx eax, byte [rsp + 0xe9]
cmp al, byte [rdi + 9]
jne 0x140035f0a
movzx eax, byte [rsp + 0xea]
cmp al, byte [rdi + 0xa]
jne 0x140035f0a
movzx eax, byte [rsp + 0xeb]
cmp al, byte [rdi + 0xb]
jne 0x140035f0a
movzx eax, byte [rsp + 0xec]
cmp al, byte [rdi + 0xc]
jne 0x140035f0a
movzx eax, byte [rsp + 0xed]
cmp al, byte [rdi + 0xd]
jne 0x140035f0a
movzx eax, byte [rsp + 0xee]
cmp al, byte [rdi + 0xe]
jne 0x140035f0a
movzx eax, byte [rsp + 0xef]
cmp al, byte [rdi + 0xf]
jne 0x140035f0a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
jmp 0x14003608a
movups xmmword [r15], xmm0
jmp 0x140036d1d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
mov eax, dword [0x1400ab160]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0x10]
cmp qword [rsp + 0xe8], rax
jne 0x140036032
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov eax, dword [0x1400ab160]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x140035fcf
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x90], rax
mov eax, dword [0x1400ab160]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
inc qword [rax + 0x40]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x150], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x138], rcx
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
lea rax, str.c:_programs_odin_core_os_dir_windows.odin
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 0x29
movabs rax, 0x200000045
mov qword [rsp + 0x230], rax
lea rax, str.read_dir
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], 8
xorps xmm6, xmm6
movaps xmmword [rsp + 0x2d0], xmm6
movaps xmmword [rsp + 0x260], xmm6
lea r8, [rsp + 0x260]
lea r9, [rsp + 0xd0]
mov rcx, rsi
mov rdx, rbp
call fcn.140038540
mov rsi, qword [rsp + 0x260]
mov rdi, qword [rsp + 0x268]
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2d8], rdi
test rdi, rdi
je 0x1400361d3
test rax, rax
jne 0x1400361d3
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
test r14, r14
je 0x1400361dc
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
lea rax, str.c:_programs_odin_core_os_dir_windows.odin
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm0
xor r12d, r12d
mov r8d, 0x1c20
mov r9d, 8
mov rcx, rbx
xor edx, edx
call r14
mov r13d, 0
test al, al
jne 0x1400361e5
mov r13, qword [rsp + 0x80]
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov r12d, 0x64
test r13, r13
jne 0x1400361e5
jmp 0x1400361df
xorps xmm0, xmm0
movups xmmword [r15], xmm0
jmp 0x140036d1d
movups xmmword [r15], xmm6
jmp 0x140036d00
xor r14d, r14d
xor r12d, r12d
xor r13d, r13d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rbx
lea rcx, [rdi + 3]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x250], xmm0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea r8, str.c:_programs_odin_core_os_dir_windows.odin
lea r9, [rsp + 0x250]
mov rdx, rbp
call fcn.140057110
mov r14, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x258]
cmp rbx, rdi
mov r8, rdi
cmovl r8, rbx
test r8, r8
jle 0x14003624f
add r8, r8
mov rcx, r14
mov rdx, rsi
call fcn.14007d380
cmp rdi, rbx
jae 0x140036d5d
mov word [r14 + rdi*2], 0x5c
lea r9, [rdi + 1]
cmp r9, rbx
jae 0x140036d7c
mov word [r14 + rdi*2 + 2], 0x2a
lea r9, [rdi + 2]
cmp r9, rbx
jae 0x140036d98
mov word [r14 + rdi*2 + 4], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x2c0], xmm0
mov qword [rsp + 0x80], rsi
xor eax, eax
test rdi, rdi
jle 0x140036d39
mov rbx, r12
nop word [rax + rax]
cmp word [rsi + rax*2], 0
je 0x1400362c2
inc rax
cmp rdi, rax
jne 0x1400362b0
mov rax, rdi
test rax, rax
js 0x140036d39
cmp rax, rdi
jg 0x140036d39
mov qword [rsp + 0x88], rax
cmp rax, 4
jb 0x14003634c
cmp word [rsi], 0x5c
jne 0x14003634c
cmp word [rsi + 2], 0x5c
jne 0x14003634c
cmp word [rsi + 4], 0x3f
jne 0x14003634c
cmp word [rsi + 6], 0x5c
jne 0x14003634c
lea rcx, [rsi + 8]
lea rdx, [rax - 4]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rdx
cmp rdx, 3
jb 0x14003634c
cmp word [rcx], 0x55
jne 0x14003634c
cmp word [rsi + 0xa], 0x4e
jne 0x14003634c
cmp word [rsi + 0xc], 0x43
jne 0x14003634c
add rsi, 0xc
add rax, 0xfffffffffffffffa
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rax
mov word [rsi], 0x5c
mov qword [rsp + 0x48], r13
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x158]
test rdx, rdx
je 0x1400363c9
mov rcx, qword [rsp + 0x150]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
lea r8, [rsp + 0xd0]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x80]
call fcn.1400352a0
xor r12d, r12d
mov ecx, 0
test al, al
jne 0x1400363ce
mov r12, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
jmp 0x1400363ce
xor r12d, r12d
xor ecx, ecx
mov qword [rsp + 0x1f0], r15
mov qword [rsp + 0x2c0], r12
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x2c8], rcx
lea rsi, [rsp + 0x390]
mov r8d, 0x250
mov rcx, rsi
xor edx, edx
call fcn.14007da20
mov rcx, r14
mov rdx, rsi
call sub.KERNEL32.dll_FindFirstFileW
mov rdi, rax
mov r14, 0xffffffffffffffff
xorps xmm6, xmm6
lea r13, str.c:_programs_odin_core_os_dir_windows.odin
xor esi, esi
lea r15, [rsp + 0xd0]
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0xc8], r12
jmp 0x140036473
dec r14
mov rdi, qword [rsp + 0x1f8]
mov rcx, rdi
lea rdx, [rsp + 0x390]
call sub.KERNEL32.dll_FindNextFileW
test eax, eax
je 0x140036c6d
test r14, r14
je 0x140036c75
test rdi, rdi
je 0x140036c75
lea rax, [rsp + 0xa8]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
cmp word [rsp + 0x3bc], 0x2e
movabs rdi, 0x5e6684f4b3960000
jne 0x140036500
movzx eax, word [rsp + 0x3be]
cmp eax, 0x2e
je 0x1400364eb
test eax, eax
jne 0x140036500
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
mov qword [rsp + 0x1e0], 0
jmp 0x140036881
cmp word [rsp + 0x3c0], 0
je 0x1400364ba
nop word cs:[rax + rax]
movaps xmmword [rsp + 0x130], xmm6
lea rax, [0x14008ba2b]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x20], r15
mov edx, 0x104
lea rcx, [rsp + 0x3bc]
mov r8, rbp
lea r9, [rsp + 0x60]
call fcn.1400352a0
test al, al
jne 0x140036560
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
jmp 0x140036564
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x150], r12
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 3
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x130]
mov rdx, r15
lea r8, str.c:_programs_odin_core_os_dir_windows.odin
lea r9, [rsp + 0x60]
call fcn.140037510
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
movaps xmmword [rsp + 0x2e0], xmm6
lea rcx, [rsp + 0x2e0]
lea rdx, [rsp + 0x210]
call fcn.140038cb0
movaps xmm0, xmmword [rsp + 0x2e0]
movups xmmword [rsp + 0x90], xmm0
mov eax, dword [rsp + 0x390]
mov ecx, dword [rsp + 0x3ac]
shl rcx, 0x20
mov edx, dword [rsp + 0x3b0]
or rdx, rcx
mov qword [rsp + 0xa0], rdx
test al, 1
mov r8d, 0x124
mov ecx, 0x1b6
cmove r8d, ecx
mov dword [rsp + 0xa8], r8d
test eax, 0x400
je 0x140036685
mov ecx, 0x100000
mov edx, dword [rsp + 0x3b4]
cmp edx, 0xa0000003
je 0x14003668e
cmp edx, 0xa000000c
je 0x14003668e
mov ecx, 0x10049
test al, 0x10
je 0x140036699
or r8d, ecx
mov dword [rsp + 0xa8], r8d
imul rcx, qword [rsp + 0x394], 0x64
add rcx, rdi
cmp rcx, 0x3b9aca00
jb 0x140036700
mov rax, rcx
movabs rdx, 0x112e0be826d694b3
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
imul rax, rdx, 0xffffffffc4653600
lea r9, [rax + rcx]
mov r10, r9
sar r10, 0x3f
add r10, rdx
test r9, r9
lea rcx, [rax + rcx + 0x3b9aca00]
cmovns rcx, r9
imul rax, r10, 0x3b9aca00
jmp 0x140036702
xor eax, eax
add rax, rcx
mov qword [rsp + 0xb0], rax
imul rcx, qword [rsp + 0x3a4], 0x64
add rcx, rdi
cmp rcx, 0x3b9aca00
jb 0x140036770
mov rax, rcx
movabs rdx, 0x112e0be826d694b3
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
imul rax, rdx, 0xffffffffc4653600
lea r9, [rax + rcx]
mov r10, r9
sar r10, 0x3f
add r10, rdx
test r9, r9
lea rcx, [rax + rcx + 0x3b9aca00]
cmovns rcx, r9
imul rax, r10, 0x3b9aca00
jmp 0x140036772
xor eax, eax
add rax, rcx
mov qword [rsp + 0xb8], rax
imul rcx, qword [rsp + 0x39c], 0x64
add rcx, rdi
cmp rcx, 0x3b9aca00
jb 0x1400367e0
mov rax, rcx
movabs rdx, 0x112e0be826d694b3
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
imul rax, rdx, 0xffffffffc4653600
lea r9, [rax + rcx]
mov r10, r9
sar r10, 0x3f
add r10, rdx
test r9, r9
lea rcx, [rax + rcx + 0x3b9aca00]
cmovns rcx, r9
imul rax, r10, 0x3b9aca00
jmp 0x1400367e2
xor eax, eax
add rax, rcx
mov qword [rsp + 0xc0], rax
shr r8d, 0x10
and r8b, 1
mov byte [rsp + 0xac], r8b
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1d0], xmm2
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x1c0], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x1c8], eax
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0x1cc], al
movzx eax, word [rsp + 0xad]
mov word [rsp + 0x1cd], ax
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0x1cf], al
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x1c8]
movzx edx, byte [rsp + 0x1cc]
movzx r8d, word [rsp + 0x1cd]
movzx r9d, byte [rsp + 0x1cf]
movaps xmm2, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x290], rax
mov dword [rsp + 0x298], ecx
mov byte [rsp + 0x29c], dl
mov word [rsp + 0x29d], r8w
mov byte [rsp + 0x29f], r9b
movaps xmmword [rsp + 0x2a0], xmm2
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x2b0], rax
cmp qword [rsp + 0x288], 0
je 0x140036453
lea rdi, [rsi + 1]
cmp rbx, rdi
jge 0x140036c04
mov rax, rbx
lea rbx, [rbx*2 + 8]
mov r12, rax
cmp rax, rbx
jge 0x1400369be
cmp qword [rsp + 0x50], 0
jne 0x14003696b
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140036e1b
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x58], rax
lea rax, [rbx*8]
lea rbp, [rax + rax*8]
lea rax, [r12*8]
lea rdx, [rax + rax*8]
test rbp, rbp
je 0x1400369c6
cmp qword [rsp + 0x48], 0
je 0x140036a1e
cmp rdx, rbp
mov rcx, qword [rsp + 0x48]
jne 0x140036a6b
mov eax, ecx
and eax, 7
jne 0x140036a6b
mov r15, rcx
test rbp, rbp
jns 0x140036bc9
jmp 0x140036db4
mov rbx, r12
jmp 0x140036bfc
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140036b01
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov dl, 1
xor r8d, r8d
xor r9d, r9d
call qword [rsp + 0x50]
xor r15d, r15d
test al, al
jne 0x140036b16
jmp 0x140036bc9
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
movups xmmword [rsp + 0x20], xmm6
mov r9d, 8
mov rcx, qword [rsp + 0x58]
xor edx, edx
mov r8, rbp
call qword [rsp + 0x50]
mov r15, qword [rsp + 0x150]
test al, al
jne 0x140036b16
jmp 0x140036bc9
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov r9d, 8
mov rcx, qword [rsp + 0x58]
mov dl, 3
mov r8, rbp
call qword [rsp + 0x50]
cmp al, 4
jne 0x140036b09
movaps xmmword [rsp + 0x130], xmm6
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x130]
mov qword [rsp + 0x38], rax
lea rax, str.c:_programs_odin_core_os_dir_windows.odin
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm6
mov r9d, 8
mov rcx, qword [rsp + 0x58]
xor edx, edx
mov r8, rbp
call qword [rsp + 0x50]
test al, al
je 0x140036b2e
lea rbp, [rsp + 0xe0]
mov rbx, r12
jmp 0x140036bfc
xor r15d, r15d
jmp 0x140036bc9
mov r15, qword [rsp + 0x60]
test al, al
je 0x140036bc9
lea rbp, [rsp + 0xe0]
lea r15, [rsp + 0xd0]
mov rbx, r12
jmp 0x140036bfc
mov r9, qword [rsp + 0x1e8]
test r9, r9
js 0x140036dce
mov r15, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
cmp r8, r9
cmovge r8, r9
test r8, r8
mov rdx, qword [rsp + 0x48]
jle 0x140036b7f
mov rcx, r15
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x48]
call fcn.14007d380
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x1e8]
movaps xmmword [rsp + 0x210], xmm6
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x210]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rdx
mov rcx, qword [rsp + 0x58]
mov dl, 1
xor r8d, r8d
xor r9d, r9d
call qword [rsp + 0x50]
test al, al
jne 0x140036b16
test r15, r15
sete al
test rbp, rbp
setg cl
test cl, al
mov rax, qword [rsp + 0x48]
cmove rax, r15
mov qword [rsp + 0x48], rax
cmove r12, rbx
mov rbx, r12
lea rbp, [rsp + 0xe0]
lea r15, [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
mov rax, rbx
sub rax, rsi
test rax, rax
jle 0x140036450
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140036de5
lea rax, [rsi + rsi*8]
movaps xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movaps xmm2, xmmword [rsp + 0x290]
movaps xmm3, xmmword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x2b0]
mov qword [rdx + rax*8 + 0x40], rcx
movups xmmword [rdx + rax*8 + 0x30], xmm3
movups xmmword [rdx + rax*8 + 0x20], xmm2
movups xmmword [rdx + rax*8 + 0x10], xmm1
movups xmmword [rdx + rax*8], xmm0
mov rsi, rdi
jmp 0x140036450
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x12
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], rsi
mov rax, qword [rsp + 0x1f0]
mov qword [rax], rcx
mov qword [rax + 8], rsi
mov rcx, rdi
call sub.KERNEL32.dll_FindClose
test r12, r12
je 0x140036d00
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x140036d00
mov rcx, qword [rsp + 0xd8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x40], r15
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x38], rdx
lea rdx, str.c:_programs_odin_core_os_dir_windows.odin
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov dl, 1
xor r8d, r8d
xor r9d, r9d
call rax
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x220]
lea r8, [rsp + 0xd0]
call fcn.140056d50
movaps xmm6, xmmword [rsp + 0x5e0]
add rsp, 0x5f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
lea rcx, str.c:_programs_odin_core_os_stat_windows.odin
mov edx, 0x77
mov r8d, 0xb
xor r9d, r9d
call fcn.14000e260
mov qword [rsp + 0x20], rbx
lea rcx, str.c:_programs_odin_core_os_dir_windows.odin
mov edx, 0x51
mov r8d, 0xf
mov r9, rdi
call fcn.14005d190
mov qword [rsp + 0x20], rbx
lea rcx, str.c:_programs_odin_core_os_dir_windows.odin
mov edx, 0x52
mov r8d, 0xf
call fcn.14005d190
mov qword [rsp + 0x20], rbx
lea rcx, str.c:_programs_odin_core_os_dir_windows.odin
mov edx, 0x53
mov r8d, 0xf
call fcn.14005d190
lea rcx, str.c:_programs_odin_base_runtime_internal.odin
mov edx, 0xa3
mov r8d, 0x18
mov r9, rbp
call fcn.14000e2f0
lea rcx, str.c:_programs_odin_base_runtime_internal.odin
mov edx, 0xb5
mov r8d, 0x1c
call fcn.14000e2f0
mov rax, qword [rsp + 0xf0]
test rax, rax
lea r10, [0x14000d6e0]
cmovne r10, rax
lea rcx, str.runtime_assertion
lea rdx, [0x14008e9a8]
lea r8, str.c:_programs_odin_core_os_dir_windows.odin
lea r9, [rsp + 0xd0]
call r10
mov rax, qword [rsp + 0xf0]
test rax, rax
lea r10, [0x14000d6e0]
cmovne r10, rax
lea rcx, str.runtime_assertion
lea rdx, [0x14008e9a8]
lea r8, str.c:_programs_odin_base_runtime_core_builtin.odin
lea r9, [rsp + 0xd0]
call r10
int3