joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140057370
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov esi, dword [0x1400a9100]
test esi, esi
je 0x140057418
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x14005740f
je 0x14005740d
movzx eax, byte [0x1400d3130]
mov edx, 0x10
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x140057439
mov qword [rax], 0
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x140057408
mov rax, qword [rdi]
test rax, rax
je 0x1400573f7
lock dec qword [rax]
jne 0x1400573f7
mov rcx, qword [rdi]
call fcn.140055210
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rdi
call fcn.1400a6040
mov rax, rsi
jmp 0x14005740f
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1400a90e8]
call fcn.140057530
mov esi, eax
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x14005739a
jmp 0x14005740f
mov ecx, 8
mov edx, 0x10
call fcn.14000bba0
int3

Function at 0x140057530
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rsi, rcx
cmp qword [rcx], 0
je 0x1400575c5
mov dword [rbp], 0
lea rbx, [rsi + 0x10]
mov r8, rbp
mov rcx, rbx
xor edx, edx
xor r9d, r9d
call sub.KERNEL32.dll_InitOnceBeginInitialize
mov dword [rbp - 4], eax
cmp eax, 1
jne 0x140057604
cmp dword [rbp], 0
je 0x1400575e8
call sub.KERNEL32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x140057627
mov edi, eax
mov rax, qword [0x1400d6038]
mov rax, qword [0x1400d3118]
nop word cs:[rax + rax]
mov qword [rsi + 8], rax
lock cmpxchg qword [0x1400d3118], rsi
jne 0x1400575a0
mov eax, edi
inc eax
mov dword [rsi + 0x18], eax
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.KERNEL32.dll_InitOnceComplete
jmp 0x1400575f9
call sub.KERNEL32.dll_TlsAlloc
mov dword [rbp + 4], eax
cmp eax, 0xffffffff
je 0x140057669
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
jne 0x1400575ed
mov edi, dword [rbp + 4]
jmp 0x1400575f9
mov edi, dword [rsi + 0x18]
jmp 0x1400575f7
mov edi, eax
mov ecx, dword [rbp + 4]
call sub.KERNEL32.dll_TlsFree
dec edi
mov eax, edi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov qword [rbp - 0x38], 0
lea rdx, [0x1400bdfb0]
lea r9, str.std_src_sys_thread_localkeywindows.rs
lea rcx, [rbp - 4]
lea r8, [rbp - 0x38]
call fcn.1400576a0
mov rcx, rbx
mov edx, 4
xor r8d, r8d
call sub.KERNEL32.dll_InitOnceComplete
lea rax, str.out_of_TLS_indexes
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
mov qword [rbp - 0x28], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rdx, str.std_src_sys_thread_localkeywindows.rs
lea rcx, [rbp - 0x38]
call fcn.14000fd10
lea rax, str.out_of_TLS_indexes
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
mov qword [rbp - 0x28], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 4]
lea rdx, [rbp - 0x38]
call fcn.1400576e0
int3
Function at 0x140057fc0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov esi, dword [0x1400a90a0]
test esi, esi
je 0x14005804e
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x140058045
je 0x140058043
movzx eax, byte [0x1400d3130]
mov edx, 0x18
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x14005806f
mov qword [rax], 0
mov byte [rax + 8], 0
mov dword [rax + 0x10], esi
mov ecx, esi
mov rbx, rax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x14005803e
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rdi
call fcn.1400a6040
mov rax, rsi
jmp 0x140058045
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1400a9088]
call fcn.140057530
mov esi, eax
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x140057fe6
jmp 0x140058045
mov ecx, 8
mov edx, 0x18
call fcn.14000bba0
int3
Function at 0x14005baf0
Capabilities:
Read file via mapping

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov rax, r8
mov rdi, rcx
mov dword [rbp - 0x48], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x30], 7
mov qword [rbp - 0x2c], 0
mov word [rbp - 0x24], 0
mov byte [rbp - 0x28], 1
lea r8, [rbp - 0x48]
mov rcx, rdx
mov rdx, rax
call fcn.140078970
mov rsi, rdx
test rax, rax
je 0x14005bbb2
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x14005bba6
mov rax, rsi
dec rsi
mov rbx, qword [rax - 1]
mov r14, qword [rax + 7]
mov rax, qword [r14]
test rax, rax
je 0x14005bb72
mov rcx, rbx
call rax
cmp qword [r14 + 8], 0
je 0x14005bb95
cmp qword [r14 + 0x10], 0x11
jb 0x14005bb84
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rbx
call fcn.1400a6040
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rsi
call fcn.1400a6040
mov qword [rdi], 0
jmp 0x14005bd1d
lea rcx, [rbp - 0x48]
mov rdx, rsi
call fcn.140078bf0
cmp dword [rbp - 0x48], 2
jne 0x14005bc3f
mov rax, qword [rbp - 0x40]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x14005bc1f
lea rbx, [rax - 1]
mov r14, qword [rax - 1]
mov r15, qword [rax + 7]
mov rax, qword [r15]
test rax, rax
je 0x14005bbeb
mov rcx, r14
call rax
cmp qword [r15 + 8], 0
je 0x14005bc0e
cmp qword [r15 + 0x10], 0x11
jb 0x14005bbfd
mov r14, qword [r14 - 8]
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, r14
call fcn.1400a6040
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rbx
call fcn.1400a6040
mov qword [rdi], 0
mov rcx, rsi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
jmp sub.KERNEL32.dll_CloseHandle
mov r12, qword [rbp - 0x10]
test rsi, rsi
je 0x14005bc8d
mov qword [rbp - 0x48], 0
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rbp - 0x48]
mov rcx, rax
mov rdx, rsi
mov r8, rax
call sub.KERNEL32.dll_DuplicateHandle
test eax, eax
je 0x14005bd09
mov rbx, qword [rbp - 0x48]
jmp 0x14005bc8f
xor ebx, ebx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 2
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileMappingA
test rax, rax
je 0x14005bcf8
mov r14, rax
mov qword [rsp + 0x20], r12
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_MapViewOfFile
mov r15, rax
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
test r15, r15
je 0x14005bcf8
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r12
mov qword [rdi], 1
jmp 0x14005bd15
mov qword [rdi], 0
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
jmp 0x14005bd15
call sub.KERNEL32.dll_GetLastError
mov qword [rdi], 0
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
nop
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
Function at 0x14007ad30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rbx, rdx
mov qword [rbp - 0x20], rcx
movzx eax, byte [rdx + 0x18]
mov byte [rbp + 7], al
mov byte [rdx + 0x18], 0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 2
mov qword [rbp - 8], 0
movzx r15d, word [rdx + 0x10]
mov rsi, qword [rdx]
mov r12, qword [rdx + 8]
mov eax, 2
xor edi, edi
xor r13d, r13d
mov r14d, r15d
test r15w, r15w
je 0x14007adcb
jmp 0x14007aee0
shl edx, 6
or edx, r9d
mov r14d, edx
xor r15d, r15d
mov rsi, rcx
cmp r14w, 0x22
jne 0x14007ae93
xor r13b, 1
mov r14d, r15d
test r15w, r15w
jne 0x14007aee0
cmp rsi, r12
je 0x14007aef2
lea rcx, [rsi + 1]
mov qword [rbx], rcx
movzx r14d, byte [rsi]
test r14b, r14b
jns 0x14007ada9
mov edx, r14d
and edx, 0x1f
lea rcx, [rsi + 2]
mov qword [rbx], rcx
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp r14b, 0xdf
jbe 0x14007ada0
lea rcx, [rsi + 3]
mov qword [rbx], rcx
movzx r8d, byte [rsi + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp r14b, 0xf0
jb 0x14007ae4c
lea rcx, [rsi + 4]
mov qword [rbx], rcx
movzx r14d, byte [rsi + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r14d, 0x3f
or r14d, r8d
or r14d, edx
cmp r14d, 0xffff
jbe 0x14007ada9
jmp 0x14007ae62
shl edx, 0xc
or r8d, edx
mov r14d, r8d
cmp r14d, 0xffff
jbe 0x14007ada9
lea edx, [r14 + 0xff0000]
shr edx, 0xa
or edx, 0xd800
and r14d, 0x3ff
or r14d, 0xdc00
mov word [rbx + 0x10], r14w
mov rsi, rcx
mov r15d, r14d
mov r14d, edx
jmp 0x14007adaf
movzx ecx, r14w
cmp ecx, 0x3b
jne 0x14007aeaa
test r13b, 1
je 0x14007aeee
mov r13b, 1
mov r14w, 0x3b
cmp rdi, qword [rbp - 0x18]
jne 0x14007aebd
lea rcx, [rbp - 0x18]
call fcn.140079580
mov rax, qword [rbp - 0x10]
mov word [rax + rdi*2], r14w
inc rdi
mov qword [rbp - 8], rdi
mov r14d, r15d
test r15w, r15w
je 0x14007adcb
nop word cs:[rax + rax]
mov word [rbx + 0x10], 0
xor r15d, r15d
jmp 0x14007adaf
mov byte [rbx + 0x18], 1
test rdi, rdi
setne al
or byte [rbp + 7], al
je 0x14007af38
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp - 0x40]
mov r8, rdi
call fcn.14005a0d0
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x30]
mov rax, qword [rbp - 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp qword [rbp - 0x18], 0
jne 0x14007af50
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movabs rax, 0x8000000000000000
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
cmp qword [rbp - 0x18], 0
je 0x14007af27
mov r8, qword [rbp - 0x10]
mov rcx, qword [0x1400d3110]
xor edx, edx
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400a6040
Function at 0x14007b200
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movdqa xmmword [rbp - 0x10], xmm6
mov rdi, r8
mov rsi, rcx
mov rcx, qword [rcx + 8]
mov rbx, qword [rsi + 0x10]
xor r14d, r14d
mov eax, 0
cmp rbx, 3
jb 0x14007b271
movzx r8d, byte [rbx + rcx - 2]
mov r9d, r8d
and r9b, 0xf0
xor r14d, r14d
cmp r9b, 0xa0
jne 0x14007b271
xor r14d, r14d
cmp byte [rbx + rcx - 3], 0xed
jne 0x14007b271
movzx r14d, byte [rbx + rcx - 1]
and r8d, 0xf
and r14d, 0x3f
shl r8d, 0x10
shl r14d, 0xa
or r14d, r8d
mov al, 1
cmp rdi, 3
jb 0x14007b34c
cmp byte [rdx], 0xed
jne 0x14007b355
movzx r15d, byte [rdx + 1]
mov r8d, r15d
and r8b, 0xf0
cmp r8b, 0xb0
setne r8b
xor al, 1
or al, r8b
jne 0x14007b355
cmp rbx, 3
jb 0x14007b2b1
add rbx, 0xfffffffffffffffd
mov qword [rsi + 0x10], rbx
movzx r12d, byte [rdx + 2]
shl r15d, 6
lea r8, [rdi + 1]
mov rax, qword [rsi]
mov rcx, rax
sub rcx, rbx
cmp rcx, r8
jb 0x14007b43f
and r15d, 0x3c0
or r15d, r14d
or r12d, r15d
lea r8d, [r12 + 0x10000]
mov r9d, r8d
shr r9d, 0x12
shr r8d, 4
and r8d, 0xff00
or r8d, r9d
shl r15d, 0xa
and r15d, 0xff0000
or r15d, r8d
shl r12d, 0x18
or r12d, r15d
movd xmm6, r12d
pand xmm6, xmmword [str._a___]
por xmm6, xmmword [0x1400ad650]
cmp rcx, 3
jbe 0x14007b471
add rdx, 3
mov rcx, qword [rsi + 8]
movd dword [rcx + rbx], xmm6
add rbx, 4
mov qword [rsi + 0x10], rbx
add rdi, 0xfffffffffffffffd
jmp 0x14007b3e3
test rdi, rdi
je 0x14007b3e0
lea rax, [rdx + rdi]
mov r9, rdx
jmp 0x14007b378
add r9, 2
cmp r8, rax
cmovne r8, r9
nop dword [rax]
mov r9, r8
cmp r8, rax
je 0x14007b3e0
lea r8, [r9 + 1]
movzx r10d, byte [r9]
test r10b, r10b
jns 0x14007b370
cmp r10b, 0xe0
jb 0x14007b35e
cmp r10b, 0xed
jne 0x14007b3af
cmp r8, rax
je 0x14007b3e0
lea r8, [r9 + 2]
cmp r8, rax
je 0x14007b3e0
cmp byte [r9 + 1], 0x9f
ja 0x14007b3dc
add r9, 3
mov r8, r9
jmp 0x14007b370
add r9, 2
cmp r8, rax
cmove r9, r8
xor r8d, r8d
cmp r9, rax
setne r8b
add r8, r9
cmp r10b, 0xf0
jb 0x14007b370
xor r9d, r9d
cmp r8, rax
setne r9b
add r8, r9
jmp 0x14007b370
mov byte [rsi + 0x18], 0
mov rax, qword [rsi]
sub rax, rbx
cmp rax, rdi
jb 0x14007b412
add rcx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
mov qword [rsi + 0x10], rbx
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov r14, rdx
mov rdx, rbx
mov r8, rdi
call fcn.14005b7a0
mov rdx, r14
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
jmp 0x14007b3eb
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov r13, rdx
mov rdx, rbx
call fcn.14005b7a0
mov rdx, r13
mov rax, qword [rsi]
mov rbx, qword [rsi + 0x10]
mov rcx, rax
sub rcx, rbx
jmp 0x14007b2d0
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov r14, rdx
mov rdx, rbx
call fcn.14005b7a0
mov rdx, r14
mov rax, qword [rsi]
mov rbx, qword [rsi + 0x10]
jmp 0x14007b32e
Function at 0x14007b7d0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov rsi, rcx
movups xmm0, xmmword [0x1400bdd20]
movaps xmmword [rbp], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov rax, rbp
mov qword [rsp + 0x20], rax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x14007b838
mov rcx, rsi
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov eax, dword [rbp]
cmp eax, 0xc0000011
jne 0x14007b845
xor edx, edx
xor eax, eax
jmp 0x14007b86e
cmp eax, 0x103
je 0x14007b878
test eax, eax
js 0x14007b858
mov rdx, qword [rbp + 8]
xor eax, eax
jmp 0x14007b86e
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xa8
pop rsi
pop rbp
ret
mov dword [rbp + 0x18], 0
mov byte [rbp + 0x1c], 0
lea rax, [0x1400bdd88]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x20]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 0x18]
lea rdx, [rbp - 0x38]
call fcn.140055930
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.140055a70
mov ecx, 7
int 0x29
ud2

Function at 0x14007bbd0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], r8
mov r15, qword [rcx + 8]
mov r14, qword [rcx + 0x10]
test r14, r14
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0x138], rdx
je 0x14007bc6a
movzx eax, byte [r14 + r15 - 1]
cmp al, 0x2f
setne cl
cmp al, 0x5c
setne r12b
and r12b, cl
lea rcx, [rbp + 0xc0]
rol byte [rax], 0
add byte [rcx + rcx*4 - 6], cl
mov r13b, 6

Function at 0x14007d950
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov esi, dword [0x1400a90c0]
test esi, esi
je 0x14007d9f8
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x14007d9ef
je 0x14007d9ed
movzx eax, byte [0x1400d3130]
mov edx, 0x10
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x14007da19
mov qword [rax], 0
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x14007d9e8
mov rax, qword [rdi]
test rax, rax
je 0x14007d9d7
lock dec qword [rax]
jne 0x14007d9d7
mov rcx, qword [rdi]
call fcn.14007da30
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rdi
call fcn.1400a6040
mov rax, rsi
jmp 0x14007d9ef
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1400a90a8]
call fcn.140057530
mov esi, eax
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x14007d97a
jmp 0x14007d9ef
mov ecx, 8
mov edx, 0x10
call fcn.14000bba0
int3
Function at 0x14007de30
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
lea rbp, [rsp + 0x60]
cmp r8, 0xffffffffffffffff
je 0x14007e047
mov rbx, r8
mov r15, r8
inc r15
js 0x14007e053
mov rdi, r9
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x1400d3130]
xor ecx, ecx
mov rdx, r15
call fcn.14008b3c0
test rax, rax
je 0x14007e058
mov r12, rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp rbx, 0x10
jae 0x14007dec8
test rbx, rbx
je 0x14007df6f
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r14 + rax], 0
je 0x14007dfd2
inc rax
cmp rbx, rax
jne 0x14007deb0
jmp 0x14007df6f
lea rax, [r14 + 7]
and rax, 0xfffffffffffffff8
sub rax, r14
jne 0x14007df21
lea rcx, [rbx - 0x10]
xor eax, eax
movabs rdx, 0x8080808080808080
movabs r8, 0x101010101010100
nop
mov r9, qword [r14 + rax]
mov r10, qword [r14 + rax + 8]
mov r11, r8
sub r11, r10
or r11, r10
mov r10, r8
sub r10, r9
or r10, r9
and r10, rdx
and r10, r11
cmp r10, rdx
jne 0x14007df4c
add rax, 0x10
cmp rax, rcx
jbe 0x14007def0
jmp 0x14007df4c
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0
je 0x14007dfd2
inc rcx
cmp rax, rcx
jne 0x14007df30
lea rcx, [rbx - 0x10]
cmp rax, rcx
jbe 0x14007dedb
cmp rax, rbx
je 0x14007df6f
nop word cs:[rax + rax]
cmp byte [r14 + rax], 0
je 0x14007dfd2
inc rax
cmp rbx, rax
jne 0x14007df60
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x40]
call fcn.14000bda0
mov rbx, rax
mov r14, rdx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x38], 1
mov qword [rbp - 8], 0
lea r8, [rbp - 0x40]
lea r9, [rbp - 8]
mov rcx, rax
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14007e003
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14007e017
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, r12
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
jmp fcn.1400a6040
mov rcx, qword [rdi]
mov rax, qword [rbp - 8]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [rbx], 0
test r14, r14
je 0x14007e037
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rbx
call fcn.1400a6040
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1400ae8b0]
call fcn.140012950
call fcn.14000bb60
mov ecx, 1
mov rdx, r15
call fcn.14000bb40
int3
Function at 0x140086150
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rsi, rcx
movabs r15, 0x8000000000000000
lea rcx, [rbp - 0x28]
call fcn.140078d00
mov rax, qword [rbp - 0x28]
mov r14, qword [rbp - 0x20]
mov rcx, rax
neg rcx
jo 0x1400861b1
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x10]
lea rdx, [rbp - 0x40]
call fcn.140086060
mov rdi, qword [rbp - 0x10]
mov r14, qword [rbp - 8]
cmp rdi, r15
jne 0x140086219
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x140086209
lea rdi, [r14 - 1]
mov rbx, qword [r14 - 1]
mov r14, qword [r14 + 7]
mov rax, qword [r14]
test rax, rax
je 0x1400861d5
mov rcx, rbx
call rax
cmp qword [r14 + 8], 0
je 0x1400861f8
cmp qword [r14 + 0x10], 0x11
jb 0x1400861e7
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rbx
call fcn.1400a6040
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rdi
call fcn.1400a6040
mov qword [rsi], r15
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rbx, qword [rbp]
mov rcx, r14
call sub.KERNEL32.dll_GetFileAttributesW
cmp eax, 0xffffffff
je 0x140086237
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
jmp 0x14008620c
mov qword [rsi], r15
test rdi, rdi
je 0x14008620c
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, r14
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
jmp fcn.1400a6040
Function at 0x140087f70
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rdi, r8
mov r14, rdx
mov rbx, rcx
movzx eax, byte [0x1400d3130]
mov edx, 0x10
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x140088047
mov rsi, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x140088110]
xor edi, edi
xor ecx, ecx
mov rdx, rbx
mov r9, rax
call sub.KERNEL32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x140088039
mov rdi, qword [rsi]
mov r14, qword [rsi + 8]
mov rax, qword [r14]
test rax, rax
je 0x140087ff1
mov rcx, rdi
call rax
cmp qword [r14 + 8], 0
je 0x140088014
cmp qword [r14 + 0x10], 0x11
jb 0x140088003
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rdi
call fcn.1400a6040
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rsi
call fcn.1400a6040
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov ecx, 8
mov edx, 0x10
call fcn.14000bba0
ud2
Function at 0x140088540
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1078
call fcn.1400a5b10
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xfe0], xmm6
mov rsi, rdx
mov rdi, rcx
lea rcx, [rbp - 0x50]
mov r8d, 0x1000
xor edx, edx
call sub.msvcrt.dll_memset
xorps xmm6, xmm6
lea r13, [rbp + 0xfd4]
lea rbx, [0x14007f2f0]
lea r14, [rbp + 0xfb0]
mov dword [rbp + 0xfd4], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r13
mov qword [rsp + 0x20], rbx
mov rcx, rdi
lea rdx, [rbp - 0x50]
mov r8d, 0x1000
mov r9, r14
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x140088620
nop dword [rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rbp + 0xfd4], 1
jne 0x1400885e0
mov eax, dword [rbp + 0xfd8]
mov r15d, dword [rbp + 0xfdc]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
test eax, eax
cmovne r15, rcx
jne 0x140088633
jmp 0x140088676
call sub.KERNEL32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov rcx, r15
mov eax, ecx
and eax, 3
shr rcx, 0x20
cmp eax, 2
jne 0x140088660
call fcn.140058960
cmp al, 0xb
mov eax, 0
cmove r15, rax
je 0x140088676
jmp 0x140088744
cmp rcx, 0xb
mov eax, 0
cmove r15, rax
cmp ecx, 0xb
jne 0x140088744
test r15, r15
je 0x140088719
cmp r15, 0x1000
ja 0x1400887b8
xor r12d, r12d
nop
cmp r15, r12
jb 0x1400887a4
mov r8d, r15d
sub r8d, r12d
lea rdx, [r12 + rbp]
add rdx, 0xffffffffffffffb0
mov dword [rbp + 0xfd4], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r13
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov r9, r14
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x140088714
nop
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rbp + 0xfd4], 1
jne 0x1400886e0
cmp dword [rbp + 0xfd8], 0
jne 0x140088719
mov eax, dword [rbp + 0xfdc]
add r12, rax
cmp r12, r15
jne 0x140088690
jmp 0x140088597
call sub.KERNEL32.dll_GetLastError
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
movaps xmm6, xmmword [rbp + 0xfe0]
add rsp, 0x1078
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x140088719
lea rbx, [r15 - 1]
mov r14, qword [r15 - 1]
mov r12, qword [r15 + 7]
mov rax, qword [r12]
test rax, rax
je 0x140088769
mov rcx, r14
call rax
cmp qword [r12 + 8], 0
je 0x14008878e
cmp qword [r12 + 0x10], 0x11
jb 0x14008877d
mov r14, qword [r14 - 8]
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, r14
call fcn.1400a6040
mov rcx, qword [0x1400d3110]
xor edx, edx
mov r8, rbx
call fcn.1400a6040
jmp 0x140088719
lea r8, str.std_src_syspalwindowspipe.rs
mov rcx, r12
mov rdx, r15
call fcn.140012350
jmp 0x1400887cc
lea r8, str.std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r15
call fcn.140010560
ud2