joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400875e0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
movsxd rax, dword [rdx + 8]
test rax, rax
je 0x1400876d3
mov r14, rcx
mov rcx, qword [rdx]
xor edi, edi
xor esi, esi
or rsi, qword [rcx + rdi*8]
inc rdi
cmp rax, rdi
jne 0x140087600
test rsi, rsi
je 0x1400876d3
test eax, eax
jle 0x1400876f8
mov rax, qword [rdx]
test byte [rax], 1
je 0x1400876f8
cmp dword [rdx + 0x10], 0
jne 0x140087731
lea rdi, [r14 + 0x18]
mov rcx, rdi
call fcn.140046700
test rax, rax
je 0x140087751
mov eax, dword [r14 + 0x20]
test eax, eax
jle 0x140087718
mov rdx, qword [rdi]
lea rcx, [rax - 1]
cmp qword [rdx + rax*8 - 8], 0
mov rax, rcx
je 0x14008764c
inc ecx
mov dword [r14 + 0x20], ecx
mov rax, qword [rdi]
mov r9, qword [rax]
mov ebx, 1
mov edx, 0x40
xor ecx, ecx
movabs r8, 0x8000000000000000
mov esi, ebx
and esi, 1
neg rsi
mov rax, r9
and rax, rsi
mov rdi, rax
xor rdi, rbx
shr rdi, 1
and rax, rbx
add rax, rdi
and rsi, r8
shr rcx, 1
or rcx, rsi
mov rbx, rax
dec rdx
jne 0x140087688
mov qword [r14 + 0x30], rcx
mov qword [r14 + 0x38], 0
mov esi, 1
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov dword [rsp + 0x20], 0xa4
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnmontgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
call fcn.14012ee90
jmp 0x1400876c7
mov dword [rsp + 0x20], 0xa8
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnmontgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x68
jmp 0x1400876f1
mov dword [r14 + 0x20], eax
test eax, eax
jne 0x14008766c
mov dword [r14 + 0x28], 0
jmp 0x14008766c
mov dword [rsp + 0x20], 0xac
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnmontgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
jmp 0x1400876f1
mov dword [rsp + 0x20], 0xb2
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnmontgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x44
jmp 0x1400876f1
Function at 0x140087e20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rax, qword [0x140178028]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp r8, 0x30
ja 0x140087f7c
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
movaps xmm0, xmmword [0x140156180]
lea r14, [rsp + 0x40]
movaps xmmword [r14], xmm0
movaps xmmword [r14 - 0x10], xmm0
movaps xmmword [r14 - 0x20], xmm0
lea r12, [rsp + 0x30]
lea r15, [rcx + 0x108]
mov eax, dword [rcx + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rcx + 0x114], eax
mov rax, qword [rcx + 0xf8]
lea rdx, [rsp + 0x20]
mov rcx, r15
mov r8, rsi
call qword [0x14019d008]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, r15
mov rdx, r12
mov r8, rsi
call qword [0x14019d008]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, r15
mov rdx, r14
mov r8, rsi
call qword [0x14019d008]
test rdi, rdi
je 0x140087f10
xor eax, eax
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp rdi, rax
jne 0x140087f00
lea rdi, [rsi + 0xf8]
mov eax, dword [0x140190d14]
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
bt eax, 0x19
jae 0x140087f80
call fcn.140003260
lea rax, [0x140001d60]
test rdi, rdi
je 0x140087f4b
lea rcx, section..text
mov qword [rdi], rcx
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
mov esi, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400a8490
mov eax, esi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor esi, esi
jmp 0x140087f5f
bt eax, 9
jae 0x140087fa0
call fcn.140004450
lea rax, [0x140004920]
test rdi, rdi
je 0x140087f4b
lea rcx, [0x140004620]
jmp 0x140087f48
call fcn.140105d00
lea rax, [0x1401064f0]
test rdi, rdi
je 0x140087f4b
lea rcx, [0x140105be0]
jmp 0x140087f48
Function at 0x1400892f0
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x140089319
xor r10d, r10d
xor r9d, r9d
nop dword [rax + rax]
movzx eax, byte [rdx + r10]
xor al, byte [rcx + r10]
or r9b, al
inc r10
cmp r8, r10
jne 0x140089300
movzx eax, r9b
ret
xor eax, eax
ret

Function at 0x14008bb30
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [0x140190c08]
cmp rsi, 1
jbe 0x14008bb53
mov rcx, rsi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1400803b0
lea rcx, [0x140190c08]
call fcn.140043fd0
test al, al
je 0x14008bb98
xorps xmm0, xmm0
movups xmmword [0x140190c10], xmm0
lea rdi, [0x140190c08]
lea rsi, [0x140190c10]
mov rcx, rsi
xor edx, edx
call fcn.140042090
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.140044070
jmp 0x14008bb43
mov rsi, qword [0x140190c08]
jmp 0x14008bb43

Function at 0x140093ba0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov eax, dword [0x140190ce0]
mov ecx, dword [0x140187544]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140093bd5
lea rcx, [0x140190cd0]
add rsp, 0x28
jmp fcn.140080370
lea rcx, [0x140190ce0]
call fcn.1400a71c0
cmp dword [0x140190ce0], 0xffffffff
jne 0x140093bc5
xorps xmm0, xmm0
movups xmmword [0x140190cd0], xmm0
lea rcx, [0x140190cd0]
xor edx, edx
call fcn.140042090
lea rcx, [0x140190ce0]
call fcn.1400a7258
jmp 0x140093bc5

Function at 0x140094710
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, ecx
mov rax, qword [0x140178028]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rax, [0x1400578e0]
lea r8, [rsp + 0x20]
mov qword [r8], rax
lea rcx, [0x140190d28]
lea rdx, [0x140057730]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x1400947a2
cmp dword [0x140190d30], 0
jne 0x14009479e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, dword [0x140190d34]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x14009479e
movsxd rax, esi
mov rsi, qword [rdi + rax*8]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400a8490
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
xor esi, esi
jmp 0x140094786
call fcn.1400bc5c0
int3
Function at 0x140097780
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov eax, dword [0x140190e80]
mov ecx, dword [0x140187544]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400977e6
lea rcx, [0x140190e70]
xor edx, edx
call fcn.1400803b0
mov eax, dword [0x140190e98]
mov ecx, dword [0x140187544]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140097821
lea rcx, [0x140190e88]
xor edx, edx
add rsp, 0x28
jmp fcn.1400803b0
lea rcx, [0x140190e80]
call fcn.1400a71c0
cmp dword [0x140190e80], 0xffffffff
jne 0x1400977a5
xorps xmm0, xmm0
movups xmmword [0x140190e70], xmm0
lea rcx, [0x140190e70]
xor edx, edx
call fcn.140042090
lea rcx, [0x140190e80]
call fcn.1400a7258
jmp 0x1400977a5
lea rcx, [0x140190e98]
call fcn.1400a71c0
cmp dword [0x140190e98], 0xffffffff
jne 0x1400977d4
xorps xmm0, xmm0
movups xmmword [0x140190e88], xmm0
lea rcx, [0x140190e88]
xor edx, edx
call fcn.140042090
lea rcx, [0x140190e98]
call fcn.1400a7258
jmp 0x1400977d4

Function at 0x140097970
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [0x140190ea0]
cmp rsi, 1
jbe 0x140097993
mov rcx, rsi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1400803b0
lea rcx, [0x140190ea0]
call fcn.140043fd0
test al, al
je 0x1400979d8
xorps xmm0, xmm0
movups xmmword [0x140190ea8], xmm0
lea rdi, [0x140190ea0]
lea rsi, [0x140190ea8]
mov rcx, rsi
xor edx, edx
call fcn.140042090
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.140044070
jmp 0x140097983
mov rsi, qword [0x140190ea0]
jmp 0x140097983

Function at 0x140097e20
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov eax, ecx
test r8, r8
je 0x140097e4b
xor ecx, ecx
lea r9, [0x140167200]
movzx r10d, al
movzx r11d, byte [rdx + rcx]
xor r11d, r10d
shr eax, 8
xor eax, dword [r9 + r11*4]
inc rcx
cmp r8, rcx
jne 0x140097e30
ret
Function at 0x1400b6874
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x1400b69c8

Function at 0x1400b6d00
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.1400cda10
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.1400cda10
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x1400b6e50
cmp rax, 0xffffffffffffffff
je 0x1400b6e50
xor edi, edi
test rbp, rbp
jle 0x1400b6dfb
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.140075b40
mov rbx, rax
test rax, rax
jne 0x1400b6d88
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x1400b6df1
mov edx, 0x8000
mov ecx, r14d
call fcn.1400bc698
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.1400bff5c
cmp eax, 0xffffffff
je 0x1400b6dd1
cdqe
sub rbp, rax
test rbp, rbp
jg 0x1400b6d98
mov edx, r15d
mov ecx, r14d
call fcn.1400bc698
jmp 0x1400b6df1
cmp byte [rsi + 0x38], dil
je 0x1400b6de8
cmp dword [rsi + 0x34], 5
jne 0x1400b6de8
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x1400b6df1
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.140075aa0
jmp 0x1400b6e64
jns 0x1400b6e64
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.1400cda10
cmp rax, 0xffffffffffffffff
jne 0x1400b6e1c
cmp byte [rsi + 0x30], dil
je 0x1400b6e64
mov edi, dword [rsi + 0x2c]
jmp 0x1400b6e64
mov ecx, r14d
call fcn.1400ba5ec
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400b6e64
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x1400b6e64
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x1400b6e5d
mov eax, dword [rsi + 0x2c]
jmp 0x1400b6e62
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.1400cda10
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x1400ba12c
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1050
call fcn.1400a8430
sub rsp, rax
mov rax, qword [0x140178028]
xor rax, rsp
mov qword [rsp + 0x1040], rax
mov r15, r8
mov rbp, rdx
mov rbx, rcx
call fcn.1400b9d20
xor edi, edi
movsxd r14, eax
cmp dword [rbx + 0x10], edi
jne 0x1400ba17b
mov rax, rbp
jmp 0x1400ba283
mov rax, qword [rbx]
mov rcx, r14
sub rax, qword [rbx + 8]
and ecx, 0x3f
cqo
mov rbx, r14
sub rax, rdx
sar rbx, 6
sar rax, 1
mov r9, r15
lea r12, [rcx + rcx*8]
mov rsi, rax
lea rax, sym.elevation_service.exe_Ordinal_0
xor r8d, r8d
mov rdx, qword [rax + rbx*8 + 0x188440]
mov ecx, r14d
mov rdx, qword [rdx + r12*8 + 0x30]
call fcn.1400cdab4
mov r13, rax
lea rax, sym.elevation_service.exe_Ordinal_0
mov rcx, qword [rax + rbx*8 + 0x188440]
cmp r13, qword [rcx + r12*8 + 0x30]
jne 0x1400ba27f
mov rcx, qword [rcx + r12*8 + 0x28]
lea r9, [rsp + 0x30]
mov r8d, 0x1000
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400ba27f
mov r9, r15
xor r8d, r8d
mov rdx, rbp
mov ecx, r14d
call fcn.1400cdab4
test rax, rax
js 0x1400ba27f
mov eax, dword [rsp + 0x30]
cmp rsi, rax
jg 0x1400ba27f
lea rdx, [rsp + 0x40]
add rdx, rax
lea rcx, [rsp + 0x40]
test rsi, rsi
je 0x1400ba271
lea r8, sym.elevation_service.exe_Ordinal_0
cmp rcx, rdx
jae 0x1400ba271
cmp byte [rcx], 0xd
jne 0x1400ba257
lea rax, [rdx - 1]
cmp rcx, rax
jae 0x1400ba266
cmp byte [rcx + 1], 0xa
jne 0x1400ba266
inc rcx
jmp 0x1400ba266
movzx eax, byte [rcx]
movsx rax, byte [rax + r8 + 0x178310]
add rcx, rax
inc rdi
inc rcx
cmp rdi, rsi
jne 0x1400ba239
lea rax, [rsp + 0x40]
sub rcx, rax
lea rax, [rcx + r13]
jmp 0x1400ba283
or rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
call fcn.1400a8490
mov rbx, qword [rsp + 0x1090]
add rsp, 0x1050
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400bc260
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
movsxd rbp, ecx
mov r9, r8
mov rax, rbp
lea rcx, [0x140188440]
and eax, 0x3f
mov r10, rbp
sar r10, 6
xor edi, edi
mov rsi, rdx
mov r14, rbp
lea r8, [rax + rax*8]
mov rax, qword [rcx + r10*8]
mov ecx, 4
mov qword [rsp + 0x78], rcx
mov r11, qword [rax + r8*8 + 0x28]
lea r12d, [rcx + 6]
test r9, r9
je 0x1400bc2be
cmp word [rdx], r12w
jne 0x1400bc2be
or byte [rax + r8*8 + 0x38], cl
jmp 0x1400bc2c4
and byte [rax + r8*8 + 0x38], 0xfb
lea rdx, [rdx + r9*2]
mov rcx, rsi
mov rbx, rsi
cmp rsi, rdx
jae 0x1400bc41f
mov r9d, 0x1a
lea r13d, [r9 - 0xd]
movzx eax, word [rcx]
cmp ax, r9w
je 0x1400bc3fa
lea r9, [rcx + 2]
cmp ax, r13w
je 0x1400bc2fd
mov rcx, r9
jmp 0x1400bc320
cmp r9, rdx
jae 0x1400bc337
cmp word [r9], r12w
mov eax, 2
cmove rax, qword [rsp + 0x78]
add rcx, rax
mov eax, r12d
cmp word [r9], r12w
cmovne ax, r13w
mov word [rbx], ax
mov r9d, 0x1a
add rbx, 2
cmp rcx, rdx
jb 0x1400bc2e1
jmp 0x1400bc41f
lea r9, [rsp + 0x80]
mov qword [rsp + 0x20], rdi
mov r8d, 2
lea rdx, [rsp + 0x70]
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400bc3f4
cmp dword [rsp + 0x80], edi
je 0x1400bc3f4
mov rdx, r14
lea r11, [0x140188440]
sar rdx, 6
and r14d, 0x3f
mov rax, qword [r11 + rdx*8]
lea r8, [r14 + r14*8]
test byte [rax + r8*8 + 0x38], 0x48
je 0x1400bc3cd
movzx eax, word [rsp + 0x70]
cmp ax, r12w
jne 0x1400bc3a0
mov word [rbx], r12w
jmp 0x1400bc41b
mov word [rbx], r13w
mov word [rsp + 0x78], ax
mov rax, qword [r11 + rdx*8]
lea rcx, [rax + r8*8]
mov al, byte [rsp + rdi + 0x78]
mov byte [rcx + rdi + 0x3a], al
inc rdi
cmp rdi, 2
jl 0x1400bc3a9
mov rax, qword [r11 + rdx*8]
mov byte [rax + r8*8 + 0x3c], r12b
jmp 0x1400bc41b
cmp word [rsp + 0x70], r12w
jne 0x1400bc3da
cmp rbx, rsi
je 0x1400bc39a
mov rdx, 0xfffffffffffffffe
mov ecx, ebp
lea r8d, [rdx + 3]
call fcn.1400cda10
cmp word [rsp + 0x70], r12w
je 0x1400bc41f
mov word [rbx], r13w
jmp 0x1400bc41b
lea r11, [0x140188440]
mov rcx, qword [r11 + r10*8]
mov al, byte [rcx + r8*8 + 0x38]
test al, 0x40
jne 0x1400bc417
or al, 2
mov byte [rcx + r8*8 + 0x38], al
jmp 0x1400bc41f
mov word [rbx], r9w
add rbx, 2
sub rbx, rsi
sar rbx, 1
lea eax, [rbx + rbx]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400d14fc
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x1400d152c
xor eax, eax
jmp 0x1400d15ef
mov rbp, rbx
cmp word [rax], si
je 0x1400d1551
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x1400d1538
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x1400d1534
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.1400d144c
movsxd r14, eax
test eax, eax
jne 0x1400d158f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x1400d1525
mov rcx, r14
call fcn.140033af0
mov rdi, rax
test rax, rax
jne 0x1400d15a8
xor ecx, ecx
call fcn.140075aa0
jmp 0x1400d1584
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.1400d144c
test eax, eax
jne 0x1400d15d9
mov rcx, rdi
call fcn.140075aa0
jmp 0x1400d15e3
xor ecx, ecx
call fcn.140075aa0
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x1400d160c
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x1400d1693
mov rsi, rbx
cmp word [rax], bp
je 0x1400d1652
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x1400d163c
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x1400d1638
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140033af0
mov rdi, rax
test rax, rax
je 0x1400d1680
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1400a9f10
mov rbp, rdi
xor ecx, ecx
call fcn.140075aa0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400d3c34
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.1400b0ef8
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x1400d3cbe
cmp byte [rbp - 0x21], r15b
je 0x1400d3cb9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x1400d3cf4
call fcn.1400ca9c4
test eax, eax
jne 0x1400d3ce0
cmp byte [rbp - 0x21], r15b
je 0x1400d3cd8
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x1400d3cf4
cmp byte [rbp - 0x21], r15b
je 0x1400d3cf1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.1400b64d8
test eax, eax
jne 0x1400d3d94
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1400b0ef8
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x1400d3d33
cmp byte [rbp - 0x21], r15b
je 0x1400d3d68
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x1400d3d68
call fcn.1400ca9c4
test eax, eax
jne 0x1400d3d54
cmp byte [rbp - 0x21], r15b
je 0x1400d3d4d
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x1400d3d68
cmp byte [rbp - 0x21], r15b
je 0x1400d3d65
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.1400b64d8
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x1400d3d94
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x1400d3d97
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x1400d3da5
mov rcx, rdi
call fcn.140075aa0
cmp byte [rbp + 0x3f], r15b
je 0x1400d3db4
mov rcx, qword [rbp + 0x27]
call fcn.140075aa0
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x1400d4770
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x1400d47a2
call fcn.1400b9968
mov dword [rax], 0x16
call fcn.1400bb2d0
jmp 0x1400d48c1
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1400d48c1
mov eax, dword [rcx + 0x14]
shr eax, 0xc
test al, 1
jne 0x1400d48c1
mov eax, dword [rcx + 0x14]
shr eax, 1
test al, 1
je 0x1400d47d1
lock or dword [rcx + 0x14], 0x10
jmp 0x1400d48c1
lock or dword [rcx + 0x14], 1
mov eax, dword [rcx + 0x14]
test eax, 0x4c0
jne 0x1400d47e5
call fcn.1400d5b4c
mov rdi, qword [rsi + 8]
mov rcx, rsi
mov ebx, dword [rsi + 0x20]
mov qword [rsi], rdi
call fcn.1400b9d20
mov r8d, ebx
mov rdx, rdi
mov ecx, eax
call fcn.1400bba24
mov dword [rsi + 0x10], eax
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x1400d48af
mov eax, dword [rsi + 0x14]
or edi, 0xffffffff
test al, 6
jne 0x1400d487a
mov rcx, rsi
call fcn.1400b9d20
cmp eax, edi
je 0x1400d4865
mov rcx, rsi
call fcn.1400b9d20
cmp eax, 0xfffffffe
je 0x1400d4865
mov rcx, rsi
call fcn.1400b9d20
movsxd rbx, eax
lea r14, [0x140188440]
mov rcx, rsi
sar rbx, 6
call fcn.1400b9d20
and eax, 0x3f
lea rcx, [rax + rax*8]
mov rax, qword [r14 + rbx*8]
lea rdx, [rax + rcx*8]
jmp 0x1400d486c
lea rdx, [0x140178510]
mov al, byte [rdx + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1400d487a
lock or dword [rsi + 0x14], 0x20
cmp dword [rsi + 0x20], 0x200
jne 0x1400d489e
mov eax, dword [rsi + 0x14]
shr eax, 6
test al, 1
je 0x1400d489e
mov eax, dword [rsi + 0x14]
shr eax, 8
test al, 1
jne 0x1400d489e
mov dword [rsi + 0x20], 0x1000
mov rax, qword [rsi]
add dword [rsi + 0x10], edi
movzx edi, byte [rax]
inc rax
mov qword [rsi], rax
jmp 0x1400d48c4
neg eax
sbb eax, eax
and eax, 8
add eax, 8
lock or dword [rsi + 0x14], eax
and dword [rsi + 0x10], 0
or edi, 0xffffffff
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop r14
ret
Function at 0x1400dbee0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
xor edx, edx
jmp 0x1400dc010
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r15d, edx
mov rsi, rcx
mov rax, qword [0x140178028]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 0x60], 0
je 0x1400dc06e
mov edi, dword [rsi + 0x5c]
test r15b, r15b
je 0x1400dc04e
mov dword [rsi + 0x5c], 0xffffffff
mov byte [rsi + 0x60], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400a8490
mov eax, edi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r14, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x58], r14
mov eax, dword [rsi + 0x58]
cmp eax, 2
mov edi, 1
cmovge edi, eax
xor ebp, ebp
mov rcx, qword [rsi + 0x40]
call fcn.1400c290c
cmp eax, 0xffffffff
je 0x1400dc0ec
mov byte [rsp + rbp + 0x58], al
inc rbp
cmp rdi, rbp
jne 0x1400dc08d
mov byte [rsp + 0x57], 0xaa
cmp byte [rsi + 0x61], 0
je 0x1400dc0f6
mov al, byte [rsp + 0x58]
mov byte [rsp + 0x57], al
test r15b, r15b
je 0x1400dc0c9
movzx edi, byte [rsp + 0x57]
mov dword [rsi + 0x5c], edi
jmp 0x1400dc04e
mov edi, edi
test rdi, rdi
jle 0x1400dc1a8
mov rdx, qword [rsi + 0x40]
dec rdi
mov eax, edi
movzx ecx, byte [rsp + rax + 0x58]
call fcn.1400c5a54
cmp eax, 0xffffffff
jne 0x1400dc0cb
mov edi, 0xffffffff
jmp 0x1400dc04e
lea rax, [rsp + 0x48]
mov qword [rax], r14
lea r12, [rsp + 0x40]
mov qword [r12], r14
mov rcx, qword [rsi + 0x48]
mov rdx, qword [rsi + 0x50]
mov r13d, dword [rdx]
movzx ebp, word [rdx + 4]
movzx r14d, word [rdx + 6]
lea r9, [rsp + rdi + 0x58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x38], r12
lea rbx, [rsp + 0x58]
mov qword [rsp + 0x30], rbx
lea rbx, [rsp + 0x57]
mov qword [rsp + 0x28], rbx
lea rbx, [rsp + 0x48]
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x58]
call qword [0x14019d008]
cmp eax, 1
jne 0x1400dc191
mov rax, qword [rsi + 0x50]
mov dword [rax], r13d
mov word [rax + 4], bp
mov word [rax + 6], r14w
cmp edi, 8
je 0x1400dc0ec
mov rcx, qword [rsi + 0x40]
call fcn.1400c290c
cmp eax, 0xffffffff
je 0x1400dc0ec
mov byte [rsp + rdi + 0x58], al
inc rdi
jmp 0x1400dc107
cmp eax, 2
je 0x1400dc0ec
cmp eax, 3
je 0x1400dc0b2
jmp 0x1400dc0ba
movzx edi, byte [rsp + 0x57]
jmp 0x1400dc04e