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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xd8
call fcn.140256d30
sub rsp, rax
mov rax, qword [0x14031d480]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r14, qword [rsp + 0x140]
xor r12d, r12d
mov rax, qword [rcx]
mov rbp, r9
movsxd rbx, r8d
mov rsi, rdx
mov qword [rsp + 0x20], r14
mov rdi, rcx
lea r15d, [r12 + 1]
mov r13d, r12d
test r9, r9
je 0x1401a583f
cmp r9, rax
je 0x1401a5837
test rdx, rdx
je 0x1401a58b0
test r8d, r8d
js 0x1401a58b0
mov r13d, r15d
mov qword [rcx], r9
jmp 0x1401a5847
test rax, rax
je 0x1401a58b0
mov rbp, rax
mov rcx, rbp
call fcn.14011c660
test al, 2
jne 0x1401a58b0
test rsi, rsi
je 0x1401a5918
mov rcx, rbp
mov r13d, r15d
call fcn.140149410
cmp eax, 0x90
jg 0x1401a58b0
cmp eax, ebx
jge 0x1401a58d6
mov rcx, qword [rdi + 8]
mov r8, r14
mov rdx, rbp
call fcn.14012c550
test eax, eax
je 0x1401a58b0
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.14012c7b0
test eax, eax
je 0x1401a58b0
mov rcx, qword [rdi + 8]
lea rsi, [rdi + 0x20]
mov r8, rsi
lea rdx, [rdi + 0x24]
call fcn.14012c470
test eax, eax
jne 0x1401a58f3
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140256390
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ebx, 0x90
ja 0x1401a58b0
mov r8, rbx
lea rcx, [rdi + 0x24]
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rsi, [rdi + 0x20]
mov dword [rsi], ebx
mov ecx, dword [rsi]
cmp ecx, 0x90
je 0x1401a5921
mov eax, ecx
mov r8d, 0x90
sub r8d, ecx
xor edx, edx
lea rcx, [rdi + 0x24]
add rcx, rax
call sub.VCRUNTIME140.dll_memset
jmp 0x1401a5921
test r13d, r13d
je 0x1401a59f6
lea r14, [rsp + 0x30]
mov esi, 0x48
sub r14, rdi
lea rbx, [rdi + 0x25]
lea r15, [rsp + 0x31]
mov rcx, rbx
sub r15, rdi
mov edx, esi
nop
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 2]
xor al, 0x36
mov byte [r14 + rcx - 0x27], al
movzx eax, byte [rcx - 2]
xor al, 0x36
mov byte [r15 + rcx - 0x27], al
sub rdx, 1
jne 0x1401a5940
mov r8, qword [rsp + 0x20]
mov rdx, rbp
mov rcx, qword [rdi + 0x10]
call fcn.14012c550
test eax, eax
je 0x1401a5a09
mov rcx, rbp
call fcn.140149410
mov rcx, qword [rdi + 0x10]
lea rdx, [rsp + 0x30]
movsxd r8, eax
call fcn.14012c7b0
test eax, eax
je 0x1401a5a09
nop word [rax + rax]
movzx eax, byte [rbx - 1]
lea rbx, [rbx + 2]
xor al, 0x5c
mov byte [rbx + r14 - 0x27], al
movzx eax, byte [rbx - 2]
xor al, 0x5c
mov byte [rbx + r15 - 0x27], al
sub rsi, 1
jne 0x1401a59a0
mov r8, qword [rsp + 0x20]
mov rdx, rbp
mov rcx, qword [rdi + 0x18]
call fcn.14012c550
test eax, eax
je 0x1401a5a09
mov rcx, rbp
call fcn.140149410
mov rcx, qword [rdi + 0x18]
lea rdx, [rsp + 0x30]
movsxd r8, eax
call fcn.14012c7b0
test eax, eax
je 0x1401a5a09
lea r15d, [rsi + 1]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
call fcn.14012c820
test eax, eax
cmovne r12d, r15d
test r13d, r13d
je 0x1401a5a1d
mov edx, 0x90
lea rcx, [rsp + 0x30]
call fcn.140001240
mov eax, r12d
jmp 0x1401a58b2
Function at 0x1401ec950
Capabilities:
Encode data using xor

Disassembly:
mov eax, gethostname
call fcn.140256d30
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x1401ec979
lea rax, [0x1401eafc0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401e3f00
lea rax, [0x1401ea180]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401e3c50

Function at 0x140245bc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 7], sil
je 0x140245bf4
mov eax, esi
lea ecx, [rax - 0x70]
xor byte [r8 + rax], cl
inc rax
cmp rax, 6
jb 0x140245be0
mov byte [r8 + 7], sil
add r8, 6
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.14006ab30
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140245c19
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140068500
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140245c93
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140245c8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140245c8e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140245ca0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 9], sil
je 0x140245cd4
mov eax, esi
lea ecx, [rax - 0x70]
xor byte [r8 + rax], cl
inc rax
cmp rax, 8
jb 0x140245cc0
mov byte [r8 + 9], sil
add r8, 8
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.14006ab30
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140245cf9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140068500
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140245d73
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140245d6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140245d6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x140245d80
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xa], sil
je 0x140245db4
mov eax, esi
lea ecx, [rax - 0x70]
xor byte [r8 + rax], cl
inc rax
cmp rax, 9
jb 0x140245da0
mov byte [r8 + 0xa], sil
add r8, 9
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.14006ab30
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140245dd9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140068500
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140245e53
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140245e4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140245e4e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140245e60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xc], sil
je 0x140245e94
mov eax, esi
lea ecx, [rax - 0x70]
xor byte [r8 + rax], cl
inc rax
cmp rax, 0xb
jb 0x140245e80
mov byte [r8 + 0xc], sil
add r8, 0xb
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.14006ab30
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140245eb9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140068500
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140245f33
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140245f2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140245f2e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140249ab0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 9], al
je 0x140249ad3
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 8
jb 0x140249ac0
mov byte [rcx + 9], 0
lea r8, [rcx + 8]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.14006ab30
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x140249af0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x10], al
je 0x140249b13
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xf
jb 0x140249b00
mov byte [rcx + 0x10], 0
lea r8, [rcx + 0xf]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.14006ab30
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x14024a030
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14031d480]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14024a103
cmp byte [rcx + 0x71], 0
je 0x14024a103
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + Ordinal_26]
cmp eax, 0xffffffff
je 0x14024a0ff
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14024a0c4
sub eax, 1
je 0x14024a0c8
cmp eax, 2
jne 0x14024a0ff
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140256390
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x14024a0f6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14024a0ff
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14024a0ac
xor al, al
jmp 0x14024a0ac
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140256390
add rsp, 0x60
pop rbx
ret

Function at 0x14024a7c0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 5], 0
je 0x14024a7e3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 4
jb 0x14024a7d0
mov byte [rcx + 5], 0
mov rax, rcx
ret

Function at 0x14024a7f0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x136], 0
je 0x14024a818
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x135
jb 0x14024a800
mov byte [rcx + 0x136], 0
mov rax, rcx
ret

Function at 0x14024a820
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x44], 0
je 0x14024a843
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x43
jb 0x14024a830
mov byte [rcx + 0x44], 0
mov rax, rcx
ret

Function at 0x14024a850
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
je 0x14024a873
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x70]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x46
jb 0x14024a860
mov byte [rcx + 0x47], 0
mov rax, rcx
ret
Function at 0x14024b030
Capabilities:
Encode data using xor

Disassembly:
xor r9d, r9d
mov r10, rcx
mov ecx, r9d
test r8, r8
je 0x14024b117
sub r10, rdx
cmp r8, 8
jb 0x14024b0f3
mov rax, r8
lea r9, [rdx + 4]
and rax, 0xfffffffffffffff8
xorps xmm3, xmm3
xorps xmm2, xmm2
movd xmm1, dword [r10 + r9 - 4]
add rcx, 8
movd xmm0, dword [r9 - 4]
lea r9, [r9 + 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklbw xmm0, xmm0
psrad xmm1, 0x18
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
pxor xmm1, xmm0
movd xmm0, dword [r9 - 8]
punpcklbw xmm0, xmm0
por xmm3, xmm1
movd xmm1, dword [r10 + r9 - 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklwd xmm0, xmm0
psrad xmm1, 0x18
psrad xmm0, 0x18
pxor xmm1, xmm0
por xmm2, xmm1
cmp rcx, rax
jb 0x14024b060
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd r9d, xmm2
cmp rcx, r8
jae 0x14024b117
lea rax, [rcx + rdx]
sub r8, rcx
nop word [rax + rax]
movsx edx, byte [r10 + rax]
movsx ecx, byte [rax]
lea rax, [rax + 1]
xor edx, ecx
or r9d, edx
sub r8, 1
jne 0x14024b100
test r9d, r9d
sete al
ret
Function at 0x14024cc30
Capabilities:
Execute command

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xa0
mov rax, qword [0x14031d480]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rdi, rcx
mov qword [rsp + 0x90], rcx
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0x2d
jb 0x14024ce7b
mov rax, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14024cc82
mov rax, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_45
lea r9, str.start_cmd__C__color_b__title_Error__echo
mov r8, rdi
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.1400676a0
nop
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rax, rdx
sub rax, rcx
cmp rax, 0x11
jb 0x14024cd03
lea rax, [rcx + 0x11]
mov qword [rsp + 0x78], rax
lea rbx, [rsp + 0x68]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x68]
add rbx, rcx
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.__timeout__t_5_
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x11], 0
lea rax, [rsp + 0x68]
jmp 0x14024cd24
mov qword [rsp + 0x20], reloc.WS2_32.dll_recvfrom
lea r9, str.__timeout__t_5_
xor r8d, r8d
lea edx, [r8 + 0x11]
lea rcx, [rsp + 0x68]
call fcn.140065df0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14024cdb0
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14024cdab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14024cdab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
movdqa xmm0, xmmword [0x1402f65e0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x14024ce06
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14024ce01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14024ce01
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402563b0
xor ecx, ecx
int 0x29
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14024ce40
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14024ce3b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14024ce74
mov rcx, r8
call fcn.1402563b0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140256390
mov rbx, qword [rsp + 0xb8]
add rsp, 0xa0
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14005e400
nop
int3
Function at 0x14024d760
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov rdi, rcx
mov qword [rsp + 0x58], rcx
xor ebx, ebx
mov dword [rsp + 0x30], ebx
lea rcx, str.ALLUSERSPROFILE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x14024d7c0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x14024d7a7
mov rdx, rax
mov rcx, rdi
call fcn.14005f9e0
jmp 0x14024d8a0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movdqa xmm1, xmmword [0x1402ebbe0]
movdqu xmmword [rsp + 0x48], xmm1
mov word [rsp + 0x38], bx
mov dword [rsp + 0x30], 2
lea rcx, [rsp + 0x38]
call fcn.140249f40
test eax, eax
jne 0x14024d8c0
lea rbp, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
call fcn.14025764c
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov dword [rsp + 0x30], Ordinal_35
test rsi, rsi
je 0x14024d896
cmp rsi, 0x7fffffff
ja 0x14024d8cf
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, esi
mov rdx, rbp
mov ecx, eax
call fcn.1402576bc
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14024d8da
movsxd rdx, ebx
xor r8d, r8d
mov rcx, rdi
call fcn.140064b80
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14024d87c
mov r9, qword [rdi]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, rbp
mov ecx, r14d
call fcn.1402576bc
shr rax, 0x20
test eax, eax
jne 0x14024d8b8
lea rcx, [rsp + 0x38]
call fcn.1400c7140
mov rax, rdi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, eax
call fcn.14024a700
nop
mov edx, eax
lea rcx, str.current_path__
call fcn.14024a5f0
nop
mov ecx, reloc.WS2_32.dll_shutdown
call fcn.14024a6c0
int3
mov ecx, eax
call fcn.14024a700
int3
Function at 0x140250fc0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x14031d480]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov esi, edx
mov rdi, rcx
cmp edx, 0xffffffff
jne 0x140250fed
xor eax, eax
jmp 0x140251156
mov qword [rsp + 0xa0], rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x14025102d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
cmp rax, rbx
jae 0x14025102d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], sil
mov eax, esi
jmp 0x14025114e
cmp qword [rdi + 0x80], 0
je 0x140251149
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rdi + 0x70]
cmp rax, rcx
jne 0x140251067
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r9, qword [rdi + 0x90]
mov r8, rdx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x140251092
mov rdx, qword [rdi + 0x80]
movsx ecx, sil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14025114e
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140251101
sub eax, 1
je 0x140251101
cmp eax, 2
jne 0x140251149
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rdi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14025114e
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbx, rax
je 0x14025112f
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x140251149
lea rax, [rsp + 0x50]
mov byte [rdi + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, esi
mov eax, ecx
jmp 0x14025114e
mov eax, 0xffffffff
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140256390
mov rsi, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140254880
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rsi, r8
mov rbp, rdx
mov r14, rcx
test r8, r8
jg 0x1402548a2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x1402548b8
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x28], rbx
mov rbx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
test rax, rax
je 0x140254902
cmp rax, rsi
mov rdi, rsi
mov rcx, r14
cmovb rdi, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, rdi
mov rcx, rbp
mov rdx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, r14
add rbp, rdi
sub rbx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
cmp qword [r14 + 0x80], 0
mov rdi, rbx
je 0x140254971
mov rcx, r14
call fcn.14024a530
cmp rbx, 0xfff
jbe 0x140254951
mov r9, qword [r14 + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
add rbp, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x14025498a
cmp rbx, rax
ja 0x140254920
test rdi, rdi
je 0x140254971
mov r9, qword [r14 + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
sub rsi, rdi
mov rbx, qword [rsp + 0x28]
mov rax, rsi
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rsi, rbx
jmp 0x140254974