joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400037f0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov rax, qword [rcx]
mov r8, qword [rcx + 8]
test r8, r8
je 0x1400038b1
mov ecx, eax
and ecx, 0x3f
mov edx, 1
shl rdx, cl
test rax, rax
cmove rdx, rax
lea r11, [rdx - 1]
mov r10, r11
and r10, r14
and rax, 0xffffffffffffffc0
lea r9, [rax + rdx*8]
lea r15, [r9 + rdx*4]
mov rbp, qword [r15 + r10*8]
test rbp, rbp
je 0x1400038be
mov qword [rsp + 0x40], rbx
mov r12, qword [rdi]
sub rdx, r10
mov r13, 0xffffffffffffffff
jmp 0x14000387f
inc r10
and r10, r11
mov rbp, qword [r15 + r10*8]
test rbp, rbp
je 0x1400038b9
lea rbx, [rdx + r10]
and rbx, r11
inc r13
cmp r13, rbx
ja 0x1400038b9
cmp rbp, r14
jne 0x140003870
cmp qword [rax + r10*8], r12
jne 0x140003870
shl r10, 2
add r9, r10
mov rbx, qword [rsp + 0x40]
je 0x1400038be
mov eax, dword [rbx]
mov dword [r9], eax
jmp 0x140003a47
and eax, 0x3f
mov rcx, rax
jmp 0x1400038be
mov rbx, qword [rsp + 0x40]
mov eax, 0x4b
shl rax, cl
shr rax, 2
movabs rdx, 0x28f5c28f5c28f5c3
mul rdx
mov r15, qword [rsp + 0xb8]
shr rdx, 2
cmp r8, rdx
jae 0x1400038f6
mov word [rsp + 0x3e], 0
lea rax, [rsp + 0x3e]
jmp 0x14000393b
mov r9, qword [rsp + 0xb0]
cmp rcx, 3
mov eax, 2
cmovb rcx, rax
shl rax, cl
xor r8d, r8d
cmp rcx, 0x3f
cmovne r8, rax
mov qword [rsp + 0x20], r15
lea rdx, [0x140088600]
mov rcx, rsi
call fcn.1400049d0
mov byte [rsp + 0x3c], al
mov byte [rsp + 0x3d], 1
lea rax, [rsp + 0x3c]
movzx eax, word [rax]
test al, al
jne 0x140003a47
test eax, 0x100
je 0x140003a24
mov rax, qword [rsi]
and rax, 0xffffffffffffffc0
movabs rcx, 0x9e3779b97f4a7c15
add rcx, rax
mov rax, rcx
shr rax, 0x1e
xor rax, rcx
movabs rcx, 0xbf58476d1ce4e5b9
imul rcx, rax
mov rax, rcx
shr rax, 0x1b
xor rax, rcx
movabs rcx, 0x94d049bb133111eb
imul rcx, rax
mov rax, rcx
shr rax, 0x1f
xor rax, rcx
movabs rcx, 0xcbf29ce484222325
add rcx, rax
movzx edx, byte [rdi]
xor rdx, rcx
movabs rax, 0x100000001b3
imul rdx, rax
movzx ecx, byte [rdi + 1]
xor rcx, rdx
imul rcx, rax
movzx edx, byte [rdi + 2]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rdi + 3]
xor rcx, rdx
imul rcx, rax
movzx edx, byte [rdi + 4]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rdi + 5]
xor rcx, rdx
imul rcx, rax
movzx edx, byte [rdi + 6]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rdi + 7]
xor rcx, rdx
imul rcx, rax
movabs rax, 0x7fffffffffffffff
xor r14d, r14d
and rax, rcx
sete r14b
or r14, rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
lea rdx, [0x140088600]
mov rcx, rsi
mov r8, r14
mov r9, rdi
call fcn.140002aa0
inc qword [rsi + 8]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140005240
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
cmp qword [rcx + 8], 0
je 0x1400052e7
mov rsi, rcx
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x34], 0
mov r14, qword [rsi + 8]
test r14, r14
jle 0x1400052e7
xor r15d, r15d
mov ebp, 0x40000000
lea rbx, [rsp + 0x34]
nop word cs:[rax + rax]
mov r8d, r14d
sub r8d, r15d
cmp r8d, 0x40000000
cmovge r8d, ebp
mov rdx, qword [rsi]
add rdx, r15
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov r9, rbx
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0x34]
test rcx, rcx
je 0x1400052e2
test eax, eax
je 0x1400052e2
add r15, rcx
cmp r15, r14
jl 0x1400052a0
jmp 0x1400052e7
call sub.KERNEL32.dll_GetLastError
nop
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret

Function at 0x140005300
Capabilities:
Write file on windows

Disassembly:
push rsi
sub rsp, 0x40
mov byte [rsp + 0x30], cl
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x3c]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0x3c], 0
je 0x14000535a
test eax, eax
jne 0x14000535f
call sub.KERNEL32.dll_GetLastError
nop
add rsp, 0x40
pop rsi
ret
Function at 0x140005890
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rdx, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0xb0], 0
cmp rcx, 0xa
jb 0x140005951
mov rbx, 0xffffffffffffffff
lea r8, str.0123456789abcdefghijklmnopqrstuvwxyz
movabs r9, 0xcccccccccccccccd
nop dword [rax]
mov rcx, rdx
mov rax, rdx
mul r9
shr rdx, 3
lea rax, [rdx + rdx]
lea rax, [rax + rax*4]
mov r10, rcx
sub r10, rax
movzx eax, byte [r8 + r10]
mov byte [rsp + rbx + 0xb1], al
dec rbx
cmp rcx, 0x63
ja 0x140005900
movzx eax, byte [rdx + r8]
mov byte [rsp + rbx + 0xb1], al
test rbx, rbx
je 0x1400059f5
lea rdi, [rbx + 0x81]
neg rbx
jmp 0x14000596d
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz
movzx eax, byte [rdx + rax]
mov byte [rsp + 0xb0], al
mov edi, 0x80
mov ebx, 1
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x2c], 0
test rbx, rbx
jle 0x1400059f5
lea r14, [rsp + rdi]
add r14, 0x30
xor r15d, r15d
mov ebp, 0x40000000
lea rdi, [rsp + 0x2c]
nop dword [rax]
mov r8d, ebx
sub r8d, r15d
cmp r8d, 0x40000000
cmovge r8d, ebp
lea rdx, [r14 + r15]
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov r9, rdi
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0x2c]
test rcx, rcx
je 0x1400059f0
test eax, eax
je 0x1400059f0
add r15, rcx
cmp r15, rbx
jl 0x1400059b0
jmp 0x1400059f5
call sub.KERNEL32.dll_GetLastError
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140005a10
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r8, rcx
neg r8
cmovs r8, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0xb0], 0
mov edi, 0x81
lea r10, str.0123456789abcdefghijklmnopqrstuvwxyz
cmp r8, 0xa
jl 0x140005ac2
movabs r11, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rax, r8
mul r11
mov r9, rdx
shr r9, 3
lea rax, [r9 + r9]
lea rax, [rax + rax*4]
mov rdx, r8
sub rdx, rax
movzx eax, byte [r10 + rdx]
mov byte [rsp + rdi + 0x2f], al
dec rdi
cmp r8, 0x63
mov r8, r9
ja 0x140005a90
jmp 0x140005ac5
mov r9, r8
movabs rdx, 0x6666666666666667
mov rax, r9
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 2
add rdx, rax
add rdx, rdx
lea rax, [rdx + rdx*4]
sub r9, rax
movzx eax, byte [r10 + r9]
mov byte [rsp + rdi + 0x2f], al
test rcx, rcx
js 0x140005b00
dec rdi
jmp 0x140005b09
mov byte [rsp + rdi + 0x2e], 0x2d
add rdi, 0xfffffffffffffffe
mov rbx, rdi
sub rbx, 0x81
je 0x140005ba5
neg rbx
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x2c], 0
test rbx, rbx
jle 0x140005ba5
lea r14, [rsp + rdi]
add r14, 0x30
xor r15d, r15d
mov ebp, 0x40000000
lea rdi, [rsp + 0x2c]
nop dword [rax + rax]
mov r8d, ebx
sub r8d, r15d
cmp r8d, 0x40000000
cmovge r8d, ebp
lea rdx, [r14 + r15]
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov r9, rdi
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0x2c]
test rcx, rcx
je 0x140005ba0
test eax, eax
je 0x140005ba0
add r15, rcx
cmp r15, rbx
jl 0x140005b60
jmp 0x140005ba5
call sub.KERNEL32.dll_GetLastError
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140005bd0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
call fcn.140005240
mov byte [rsp + 0x30], 0x28
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x5c], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x5c]
mov rcx, rdi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0x5c], 0
je 0x140005c34
test eax, eax
jne 0x140005c39
call sub.KERNEL32.dll_GetLastError
movsxd rcx, dword [rsi + 0x10]
call fcn.140005890
mov byte [rsp + 0x40], 0x3a
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x40]
lea r9, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0x60], 0
je 0x140005c98
test eax, eax
jne 0x140005c9d
call sub.KERNEL32.dll_GetLastError
movsxd rcx, dword [rsi + 0x14]
call fcn.140005890
mov byte [rsp + 0x50], 0x29
mov ecx, 0xfffffff4
call fcn.140054fc8
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0x64], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
lea r9, [rsp + 0x64]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0x64], 0
je 0x140005cfc
test eax, eax
jne 0x140005d01
call sub.KERNEL32.dll_GetLastError
nop
add rsp, 0x68
pop rdi
pop rsi
ret
Function at 0x140007720
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
mov eax, 0x10070
call fcn.140059150
sub rsp, rax
movaps xmmword [rsp + 0x10060], xmm6
mov rbx, r9
mov rsi, r8
mov rdi, rdx
mov r15, rcx
lea r14, [rsp + 0x62]
mov r8d, 0xfffe
mov rcx, r14
xor edx, edx
call fcn.140073060
mov dword [rsp + 0x3c], 0xfffe
lea r8, [rbx + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
lea rdx, str.PATH
lea rcx, [rsp + 0x40]
mov r9, rbx
call fcn.14002c6d0
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x14000779b
cmp qword [rsp + 0x48], 0
je 0x14000784c
mov eax, 0x80000001
lea rcx, [rax + 1]
test r15, r15
lea r9, str.Environment
lea rdx, str.SYSTEMCurrentControlSetControlSession_ManagerEnvironment
cmove rdx, r9
cmove rcx, rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], 0
mov r9d, 0x10000004
call sub.ADVAPI32.dll_RegGetValueW
test eax, eax
je 0x1400077f9
mov ecx, eax
xor eax, eax
cmp ecx, 2
sete al
inc rax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x140007835
xorps xmm6, xmm6
movaps xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x62]
lea r9, [rsp + 0x50]
mov edx, 0x7fff
mov r8, rdi
call fcn.14002c8d0
test al, al
je 0x14000782b
movups xmmword [rsi], xmm6
mov eax, 3
jmp 0x140007835
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi], xmm0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x10060]
add rsp, 0x10070
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str.c:_odin_core_sys_windows_util.odin
mov edx, 0x39
mov r8d, 0xf
xor r9d, r9d
call fcn.1400525f0
int3
Function at 0x140007870
Capabilities:
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x508
movaps xmmword [rsp + 0x4f0], xmm6
mov ebx, r9d
mov r14, r8
mov r15, rcx
mov rsi, qword [rsp + 0x570]
lea r12, [rsi + 0x10]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
mov r8, r12
mov r9, rsi
call fcn.14002c6d0
mov r13, qword [rsp + 0x70]
test r13, r13
je 0x140007ab1
mov rbp, qword [rsp + 0x78]
movaps xmmword [rsp + 0xf0], xmm6
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov rdx, r15
mov r8, r12
mov r9, rsi
call fcn.14002c6d0
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x140007908
cmp qword [rsp + 0xf8], 0
je 0x140007ad6
mov eax, 0x80000001
lea rcx, [rax + 1]
test r14, r14
lea r9, str.Environment
lea rdx, str.SYSTEMCurrentControlSetControlSession_ManagerEnvironment
cmove rdx, r9
cmove rcx, rax
add ebp, ebp
movzx r9d, bl
inc r9d
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r13
call sub.ADVAPI32.dll_RegSetKeyValueW
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x140007ab8
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x50], rax
movabs rax, 0x4100000000000017
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov rbx, qword [0x14009e828]
mov r8d, 0x400
mov rcx, rdi
xor edx, edx
call fcn.140073060
movups xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov qword [rsp + 0x38], rbx
lea rax, [0x140027800]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0xe0], 0
movups xmmword [rsp + 0xb8], xmm6
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], 0x400
movaps xmmword [rsp + 0x30], xmm6
lea rdi, [rsp + 0xa8]
mov qword [rsp + 0x38], rdi
lea rax, [0x14004b280]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
lea rdx, str.error_setting_value:_:x_n
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x60]
mov r9, rsi
call fcn.14001e100
mov rcx, rdi
mov rdx, rsi
call fcn.14004b100
xor eax, eax
cmp dword [rsp + 0x4c], 5
sete al
lea rax, [rax + rax*2]
inc rax
jmp 0x140007aba
mov eax, 3
jmp 0x140007aba
xor eax, eax
movaps xmm6, xmmword [rsp + 0x4f0]
add rsp, 0x508
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str.c:_odin_core_sys_windows_util.odin
mov edx, 0x39
mov r8d, 0xf
xor r9d, r9d
call fcn.1400525f0
int3
Function at 0x140007ed0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
xor ecx, ecx
xor edx, edx
call sub.KERNEL32.dll_GetTempPathW
test eax, eax
je 0x140007f75
cmp eax, 0x105
mov ecx, 0x104
cmovae ecx, eax
lea rdx, [rbx + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rbx
lea r8, str.w:_dev_PortableBuildTools_master_src_install.odin
lea r9, [rsp + 0x30]
call fcn.14004c4c0
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov ecx, r14d
mov rdx, r15
call sub.KERNEL32.dll_GetTempPathW
mov edx, eax
test eax, eax
je 0x140007f92
cmp eax, 3
jne 0x140007f7f
cmp r14, 1
jbe 0x14000801e
cmp word [r15 + 2], 0x3a
jne 0x140007f7f
cmp r14, 2
jbe 0x140008040
cmp word [r15 + 4], 0x5c
jne 0x140007f7f
mov edx, 3
cmp r14, 3
jge 0x140007f9c
jmp 0x140007fde
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
xor eax, eax
jmp 0x140007fd2
lea r9d, [rdx - 1]
cmp r14, r9
jbe 0x140008002
cmp word [r15 + r9*2], 0x5c
cmove edx, r9d
cmp rdx, r14
jg 0x140007fde
test rdx, rdx
je 0x140007fc5
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x40]
mov rcx, r15
mov r8, rdi
call fcn.14002c8d0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
jmp 0x140007fcb
xor ecx, ecx
xor edx, edx
xor eax, eax
mov qword [rsi], rcx
mov qword [rsi + 8], rdx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdx
lea rcx, str.w:_dev_PortableBuildTools_master_src_install.odin
mov edx, 0x94
mov r8d, 0x1e
xor r9d, r9d
call fcn.140004310
mov qword [rsp + 0x20], r14
lea rcx, str.w:_dev_PortableBuildTools_master_src_install.odin
mov edx, 0x91
mov r8d, 0x17
call fcn.1400525f0
mov qword [rsp + 0x20], r14
lea rcx, str.w:_dev_PortableBuildTools_master_src_install.odin
mov r9d, 1
mov edx, 0x8f
mov r8d, 0x11
call fcn.1400525f0
mov qword [rsp + 0x20], r14
lea rcx, str.w:_dev_PortableBuildTools_master_src_install.odin
mov r9d, 2
mov edx, 0x8f
mov r8d, 0x20
call fcn.1400525f0
int3
Function at 0x140008a90
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x100
movaps xmmword [rsp + 0xf0], xmm6
mov rsi, r9
mov rbx, r8
mov r14, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.140042e90
mov rcx, qword [r14 + 8]
test rax, rax
js 0x140008ca9
cmp rax, rcx
jg 0x140008ca9
mov rcx, qword [r14]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
je 0x140008b0f
movups xmm0, xmmword [r14]
jmp 0x140008c88
lea r15, [rsi + 0x10]
lea rcx, [0x14009e3b8]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
xorps xmm6, xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xe0], 0
lea rax, str.c:_odin_core_os_file_windows.odin
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0x21
movabs rax, 0x20000017f
mov qword [rsp + 0x78], rax
lea rax, str.get_current_directory
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0x15
xor ecx, ecx
xor edx, edx
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov ecx, eax
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x20], rsi
lea r8, str.c:_odin_core_os_file_windows.odin
lea r9, [rsp + 0x40]
mov rdx, r15
call fcn.14004c4c0
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov ecx, r13d
mov rdx, r12
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov eax, eax
inc rax
cmp rax, r13
jne 0x140008ccd
lea rcx, [0x14009e3b8]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
test r13, r13
je 0x140008c0b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x50]
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.14002c8d0
xor r15d, r15d
mov r12d, 0
test al, al
jne 0x140008c11
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
jmp 0x140008c11
xor r15d, r15d
xor r12d, r12d
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x68]
mov r8, rsi
call fcn.14004c110
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [r14]
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], r12
movaps xmmword [rsp + 0xc0], xmm1
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x30]
mov r8, rbx
mov r9, rsi
call fcn.1400430d0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rdi], xmm0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x100
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, str.c:_odin_core_path_filepath_path.odin
mov edx, 0x2a
mov r8d, 0xd
xor r9d, r9d
call fcn.140004310
mov rax, qword [rsi + 0x20]
test rax, rax
lea r10, [0x140005190]
cmovne r10, rax
lea rcx, str.runtime_assertion
lea rdx, [0x14008e408]
lea r8, str.c:_odin_core_os_file_windows.odin
mov r9, rsi
call r10
int3
Function at 0x140008d00
Capabilities:
Move file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x130
movaps xmmword [rsp + 0x120], xmm6
mov rsi, r8
movabs r15, 0x600000000000002
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xb8], xmm0
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0xa8], xmm0
lea rdi, [r8 + 0x10]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x90], xmm6
lea rcx, [rsp + 0x90]
lea r14, [rsp + 0xb8]
mov rdx, r14
mov r8, rdi
mov r9, rsi
call fcn.140008a90
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0xb8], xmm0
movaps xmmword [rsp + 0x80], xmm6
lea rcx, [rsp + 0x80]
lea rbx, [rsp + 0xa8]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.140008a90
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xa8], xmm0
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
movaps xmmword [rsp + 0x110], xmm6
lea rdx, [0x140089a98]
lea r14, [rsp + 0x110]
lea r8, [rsp + 0x70]
mov rcx, r14
mov r9, rsi
call fcn.14001c530
movaps xmmword [rsp + 0x30], xmm6
lea rcx, [rsp + 0x30]
mov rdx, r14
mov r8, rdi
mov r9, rsi
call fcn.14002c6d0
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140008e28
cmp qword [rsp + 0x38], 0
je 0x140008f0d
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
movaps xmmword [rsp + 0x100], xmm6
lea rdx, [0x140089a98]
lea rbx, [rsp + 0x100]
lea r8, [rsp + 0x50]
mov rcx, rbx
mov r9, rsi
call fcn.14001c530
movaps xmmword [rsp + 0x30], xmm6
lea rcx, [rsp + 0x30]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.14002c6d0
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140008ea0
cmp qword [rsp + 0x38], 0
je 0x140008f0d
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 1
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xe8], 0x414
xorps xmm0, xmm0
movups xmmword [rsp + 0xea], xmm0
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0xc8]
call sub.SHELL32.dll_SHFileOperationW
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x130
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str.c:_odin_core_sys_windows_util.odin
mov edx, 0x39
mov r8d, 0xf
xor r9d, r9d
call fcn.1400525f0
int3
Function at 0x14000eb70
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rdx
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x50], xmm0
lea rdi, [rdx + 0x10]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x40], xmm6
lea rcx, [rsp + 0x40]
lea rbx, [rsp + 0x50]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.140008a90
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x30], xmm6
lea rcx, [rsp + 0x30]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.14002c6d0
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x14000ebdf
cmp qword [rsp + 0x38], 0
je 0x14000ec00
xor esi, esi
xor ecx, ecx
xor r8d, r8d
call sub.SHELL32.dll_SHCreateDirectoryExW
cmp eax, 0xb7
cmove eax, esi
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x20], 0
lea rcx, str.c:_odin_core_sys_windows_util.odin
mov edx, 0x39
mov r8d, 0xf
xor r9d, r9d
call fcn.1400525f0
int3

Function at 0x14000ec30
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xe0
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rdx
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x78], xmm0
lea rdi, [rdx + 0x10]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm6
lea rcx, [rsp + 0x60]
lea rbx, [rsp + 0x78]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.140008a90
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x78], xmm0
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov qword [rsp + 0x30], rbx
movabs rax, 0x600000000000002
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
movaps xmmword [rsp + 0xc0], xmm6
lea rdx, [0x140089a98]
lea rbx, [rsp + 0xc0]
lea r8, [rsp + 0x40]
mov rcx, rbx
mov r9, rsi
call fcn.14001c530
movaps xmmword [rsp + 0x50], xmm6
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call fcn.14002c6d0
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14000ecfd
cmp qword [rsp + 0x58], 0
je 0x14000ed67
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 3
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 0
mov word [rsp + 0xa8], 0x414
movups xmmword [rsp + 0xaa], xmm6
mov qword [rsp + 0xb8], 0
lea rcx, [rsp + 0x88]
call sub.SHELL32.dll_SHFileOperationW
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe0
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x20], 0
lea rcx, str.c:_odin_core_sys_windows_util.odin
mov edx, 0x39
mov r8d, 0xf
xor r9d, r9d
call fcn.1400525f0
int3