joyce8/EMBER2024-capa huggingface dataset:
Function at 0x45e440
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x402caf
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00409320
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045c300
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x402c80
cmp byte [0x005f3196], 0
je 0x45e455
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45b420
jmp 0x402c80

Function at 0x45e460
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005f3460]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005f3196], 0
je 0x45e495
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005f36e0]
aesenc xmm0, xmmword [0x005f36f0]
aesenc xmm0, xmmword [0x005f3700]
movq rax, xmm0
ret
jmp 0x409520

Function at 0x45e4a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005f3460]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005f3196], 0
je 0x45e4d6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005f36e0]
aesenc xmm0, xmmword [0x005f36f0]
aesenc xmm0, xmmword [0x005f3700]
movq rax, xmm0
ret
jmp 0x409580

Function at 0x45fe00
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x005f3660]
mov qword [rsp + 8], rdx
lea r8d, [0x005f31ac]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.0045e3a0
add rsp, 0x30
ret

Function at 0x460cc0
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
call fcn.0045acc0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
Function at 0x140035480
Capabilities:
Encode data using xor

Disassembly:
insb byte [rdi], dx
or edx, dword [rdi + 0x6a]
add eax, 0xfac38366
add al, 0x82
mov eax, 0x50591264
and r15d, dword [rbp + 0x6a]
invalid

Function at 0x140062630
Capabilities:
Encode data using xor

Disassembly:
adc bl, bl
cmp byte [rbp - 7], ah
invalid
shr dword [rsi - 0x2efc058d], cl
jae 0x140062532
out dx, eax
call 0x13ba25fd8
adc al, 0x4d
mov ebx, 0x691f4b97
invalid
mov ch, 0x30
xchg ebp, eax
invalid
cmc
jrcxz 0x140062591
insd dword [rdi], dx
cmpsb byte [rsi], byte [rdi]
sbb eax, dword [rbp + 0x70eb5409]
pop rdi
cwde
mov dh, 0x8f
xchg al, bl
call 0x14c379134
loop 0x1400625ec
cmp bh, byte [rbx]
adc byte [rcx], dl
cmpsd dword [rsi], dword [rdi]
adc ecx, dword [rbp - 0x2ed59c33]
or byte [rcx + rcx*4 - 0x4c1d8b58], bh
invalid
cmp esp, dword [rsi]
add al, 0xd4
push 0xffffffffffffffef
xor ch, 0x83
loopne 0x1400625b3
pushfq
jbe 0x140062614
fldcw word [rdx]
sub dl, ah
push rbx
jp 0x1400625dd
sub byte [rdi], bh
invalid
jp 0x140062614
jno 0x14006265d
or edx, ebx
jmp 0x18aefe2b3
add ecx, ebp
adc byte [rcx], cl
sar ch, cl
mov ebp, 0xe5c5a2e8
invalid
Function at 0x141259058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1412591df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x141259089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14125906f
add dl, dl
jne 0x141259096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1412590f6
xor eax, eax
add dl, dl
jne 0x1412590a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1412591ad
add dl, dl
jne 0x1412590b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412590c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412590d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1412590dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1412590ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x14125907e
mov eax, 1
add dl, dl
jne 0x141259106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141259113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1412590fb
sub eax, ebx
mov ebx, 1
jne 0x14125914c
mov ecx, 1
add dl, dl
jne 0x14125912e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14125913b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141259123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14125907e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x141259168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x141259175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14125915d
cmp eax, 0x7d00
jae 0x14125919b
cmp eax, 0x500
jb 0x141259196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14125907e
cmp eax, 0x7f
ja 0x14125919e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14125907e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1412591d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x14125907e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x180004070
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
mov r8, rcx
je 0x1800040f8
mov r9, 0xfffffffffffffffe
lea rax, [rcx + 2]
sub r9, rcx
nop word [rax + rax]
lea edx, [r9 + rax]
xor byte [rax + 7], dl
lea ecx, [rdx - 9]
xor byte [rax - 2], cl
lea rax, [rax + 0xe]
lea ecx, [rdx - 8]
xor byte [rax - 0xf], cl
lea ecx, [rdx - 7]
xor byte [rax - 0xe], cl
lea ecx, [rdx - 6]
xor byte [rax - 0xd], cl
lea ecx, [rdx - 5]
xor byte [rax - 0xc], cl
lea ecx, [rdx - 4]
xor byte [rax - 0xb], cl
lea ecx, [rdx - 3]
xor byte [rax - 0xa], cl
lea ecx, [rdx - 2]
xor byte [rax - 9], cl
lea ecx, [rdx - 1]
xor byte [rax - 8], cl
lea ecx, [rdx + 1]
xor byte [rax - 6], cl
lea ecx, [rdx + 2]
xor byte [rax - 5], cl
lea ecx, [rdx + 3]
xor byte [rax - 4], cl
add dl, 4
xor byte [rax - 3], dl
lea rcx, [rax + r9]
cmp rcx, 0x46
jb 0x180004090
mov byte [r8 + 0x47], 0
mov rax, r8
ret

Function at 0x1800044b0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x136], 0
je 0x1800044d8
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 9]
xor byte [rcx + rax], dl
inc rax
cmp rax, 0x135
jb 0x1800044c0
mov byte [rcx + 0x136], 0
mov rax, rcx
ret
Function at 0x180015e8c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
xor r9d, r9d
movabs r8, 0xcbf29ce484222325
test rdx, rdx
je 0x180015ebc
movzx eax, byte [rcx + r9]
movabs r10, 0x100000001b3
xor r8, rax
inc r9
imul r8, r10
cmp r9, rdx
jb 0x180015e9e
mov rax, r8
ret

Function at 0x180015ec0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rdx, 0xcbf29ce484222325
xor r8d, r8d
movzx eax, byte [rcx + r8]
movabs r9, 0x100000001b3
xor rdx, rax
inc r8
imul rdx, r9
cmp r8, 4
jb 0x180015ecd
mov rax, rdx
ret
Function at 0x180021a94
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movsxd rbp, r9d
mov r14, r8
test r8, r8
je 0x180021abb
and qword [r8], 0
call fcn.180021ba0
mov rbx, rax
test rax, rax
je 0x180021b83
mov rcx, rax
call fcn.180021a1c
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180021b7a
mov rax, qword [0x1801c07b0]
test rax, rax
je 0x180021af3
inc dword [rax + 0xf4]
mov rdx, qword [0x1801c07c0]
lea rcx, [rdi + rbp]
call qword [0x1801471b8]
mov rsi, rax
test rax, rax
je 0x180021b7a
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rdi
je 0x180021b52
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1801c07b0]
test rax, rax
je 0x180021b40
dec dword [rax + 0xf4]
mov rdx, qword [0x1801c07c0]
mov rcx, rsi
call qword [0x1801471c0]
jmp 0x180021b83
test ebp, ebp
jle 0x180021b64
lea rcx, [rsi + rdi]
mov r8, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x180021b75
mov qword [r14], rdi
mov rax, rsi
jmp 0x180021b85
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

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

Disassembly:
mov r9, rcx
not r8d
test rdx, rdx
je 0x180021f5a
movzx eax, byte [r9]
inc r9
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
lea rax, [0x1800c41e0]
xor r8d, dword [rax + rcx*4]
sub rdx, 1
jne 0x180021f37
not r8d
mov eax, r8d
ret

Function at 0x180021f64
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
not r8d
mov r10, rcx
mov r9d, r8d
test rdx, rdx
je 0x180021fbe
mov r11b, reloc.WLDAP32.dll_Ordinal_35
lea rbx, [0x1800c41e0]
movzx edi, byte [r10]
dec rdx
inc r10
cmp dil, r11b
jne 0x180021fa8
cmp rdx, 2
jb 0x180021fa8
cmp byte [r10], r11b
jne 0x180021fa8
cmp byte [r10 + 1], r11b
cmove r9d, r8d
movzx ecx, r9b
xor rcx, rdi
shr r9d, 8
xor r9d, dword [rbx + rcx*4]
test rdx, rdx
jne 0x180021f86
jmp 0x180021fff
mov dl, byte [rcx]
inc r10
test dl, dl
je 0x180021fff
mov r11b, reloc.WLDAP32.dll_Ordinal_35
lea rbx, [0x1800c41e0]
cmp dl, r11b
jne 0x180021fe3
cmp byte [r10], r11b
jne 0x180021fe3
cmp byte [r10 + 1], r11b
cmove r9d, r8d
movzx ecx, r9b
movzx eax, dl
mov dl, byte [r10]
xor rcx, rax
shr r9d, 8
inc r10
xor r9d, dword [rbx + rcx*4]
test dl, dl
jne 0x180021fd1
mov rbx, qword [rsp + 8]
not r9d
mov rdi, qword [rsp + 0x10]
mov eax, r9d
ret
Function at 0x180023f7c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5cd8], 0
lea rbx, [rcx + 0x5ce0]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x180024015
mov r9d, dword [rbx + 4]
test r9d, r9d
jns 0x180023fcd
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.180030454
and dword [rbx], 0
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.18002fb58
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5cd8]
lea ecx, [rax - 1]
neg eax
sbb eax, eax
and eax, ecx
lea rcx, [0x1801c07b8]
movsxd r8, eax
mov rax, qword [rdi + 0x5ce8]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
jmp 0x18002401d
mov rcx, rbx
call fcn.18002fb58
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x18002b07c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x1801c07b0]
mov rbx, rcx
and dword [rax + 0x5c3c], 0
test rcx, rcx
je 0x18002b0e5
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002b0f0
lea rdx, [0x1800c582c]
mov rcx, rbx
mov rdi, rax
call fcn.180021ba0
mov rbx, rax
test rax, rax
je 0x18002b0e5
mov r8, qword [rsp + 0x30]
mov r9, rax
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x180059e54
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rax, qword [0x1801c00c0]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov eax, ecx
mov esi, edx
imul rbx, rax, 0x38
add rbx, qword [0x1801c1d00]
mov rdx, qword [rbx]
mov cl, byte [rbx + 0x20]
mov rbp, rdx
lea rdi, [rdx - 5]
and cl, 1
je 0x180059e99
mov rbp, rdi
movzx eax, cl
lea r9, [rsp + 0x20]
test cl, cl
mov r8d, 0x40
cmove rdi, rdx
lea r14, [rax*2 + 5]
mov rcx, rdi
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180059ecf
mov eax, 0xa
jmp 0x180059f5e
test esi, esi
je 0x180059ef1
mov byte [rdi], 0xe9
mov eax, dword [rbx + 8]
sub eax, ebp
sub eax, 5
mov dword [rdi + 1], eax
test byte [rbx + 0x20], 1
je 0x180059f12
mov rax, qword [rbx]
mov word [rax], 0xf9eb
jmp 0x180059f12
mov eax, dword [rbx + 0x18]
test byte [rbx + 0x20], 1
mov dword [rdi], eax
je 0x180059f0c
movzx eax, word [rbx + 0x1c]
mov word [rdi + 4], ax
mov al, byte [rbx + 0x1e]
mov byte [rdi + 6], al
jmp 0x180059f12
mov al, byte [rbx + 0x1c]
mov byte [rdi + 4], al
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, r14
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov al, sil
shl sil, 2
add al, al
xor al, byte [rbx + 0x20]
and al, 2
xor al, byte [rbx + 0x20]
xor sil, al
and sil, 4
xor sil, al
mov byte [rbx + 0x20], sil
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1800bf4b0
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x180059fc0
Capabilities:
Enumerate threads
Suspend thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1801c00c0]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor ebx, ebx
mov r15d, edx
mov rdi, rcx
mov qword [rcx], rbx
mov qword [rcx + 8], rbx
xor edx, edx
mov r14d, r8d
mov esi, ebx
lea ecx, [rbx + 4]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x18005a15c
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], Ordinal_33
mov rcx, rax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x18005a0fe
lea esi, [rbx + 1]
cmp dword [rsp + 0x20], 0x10
jb 0x18005a0ba
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rsp + 0x2c], eax
jne 0x18005a0ba
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x28], eax
je 0x18005a0ba
mov rdx, qword [rdi]
test rdx, rdx
jne 0x18005a07c
mov dword [rdi + 8], 0x80
mov r8d, 0x200
mov rcx, qword [0x1801c0b60]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rdi], rax
mov rdx, rax
test rax, rax
je 0x18005a0e2
jmp 0x18005a0ad
mov eax, dword [rdi + 8]
cmp dword [rdi + 0xc], eax
jb 0x18005a0ad
add eax, eax
mov r8, rdx
mov r9d, eax
xor edx, edx
mov dword [rdi + 8], eax
mov rcx, qword [0x1801c0b60]
shl r9, 2
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov rdx, rax
test rax, rax
je 0x18005a0e2
mov qword [rdi], rax
mov ecx, dword [rdi + 0xc]
mov eax, dword [rsp + 0x28]
mov dword [rdx + rcx*4], eax
inc dword [rdi + 0xc]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], Ordinal_33
mov rcx, rbp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x18005a02a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x18005a0fe
mov esi, ebx
cmp qword [rdi], rbx
je 0x18005a0fe
mov r8, qword [rdi]
xor edx, edx
mov rcx, qword [0x1801c0b60]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi], rbx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x18005a15c
cmp qword [rdi], rbx
je 0x18005a161
mov esi, ebx
cmp dword [rdi + 0xc], ebx
jbe 0x18005a161
mov r8, qword [rdi]
xor edx, edx
mov eax, esi
lea ecx, [rdx + 0x5a]
mov r8d, dword [r8 + rax*4]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbp, rax
test rax, rax
je 0x18005a153
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov r8d, r14d
mov edx, r15d
mov rcx, rbp
call fcn.18005a420
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [rdi + 0xc]
jb 0x18005a117
jmp 0x18005a161
mov ebx, 9
mov eax, ebx
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1800bf4b0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x18005a5bc
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rbx, rcx
je 0x18005a620
xor edi, edi
cmp dword [rcx + 0xc], edi
jbe 0x18005a60e
mov r8, qword [rbx]
xor edx, edx
mov r8d, dword [r8 + rdi*4]
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x18005a607
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [rbx + 0xc]
jb 0x18005a5db
mov r8, qword [rbx]
xor edx, edx
mov rcx, qword [0x1801c0b60]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18005a994
Capabilities:
Check for software breakpoints

Disassembly:
mov r8b, byte [rcx]
mov r9d, edx
test r8b, r8b
je 0x18005a9ab
cmp r8b, 0x90
je 0x18005a9ab
cmp r8b, 0xcc
jne 0x18005a9cd
mov r10d, 1
mov edx, r10d
cmp r9d, r10d
jbe 0x18005a9c9
mov eax, edx
cmp byte [rax + rcx], r8b
jne 0x18005a9cd
add edx, r10d
cmp edx, r9d
jb 0x18005a9b9
mov eax, r10d
ret
xor eax, eax
ret
Function at 0x180060ad4
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r14
mov rbp, rsp
sub rsp, 0x60
lea rax, [rbp - 0x20]
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
and qword [rbp - 0x10], 0
and qword [rbp - 8], 0
lea rsi, [0x1801c1348]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rsi + r8], 0
jne 0x180060b0b
mov rdx, rsi
lea rcx, [rbp - 0x20]
call fcn.180015c68
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
and qword [rbp - 0x30], 0
and qword [rbp - 0x28], 0
lea r14, [0x1801c0e70]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x180060b3a
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.180015c68
nop
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [0x1801c1040]
call fcn.180004560
cmp byte [0x1801c1278], 0
je 0x180060c5f
movabs rax, 0x8052ed68679be9e7
mov qword [rbp - 0x20], rax
movabs rcx, 0x8ff61975ecec0df8
mov qword [rbp - 0x18], rcx
movabs rax, 0x8052ed060efc86ab
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rcx
movaps xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea r8, [0x18012a7f4]
lea rdx, [rbp - 0x20]
lea rcx, [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov r9, qword [0x1801c0fb0]
mov ebx, 1
mov r8d, ebx
mov edx, 0xff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [0x1801c0fb0]
mov r8d, ebx
lea edx, [rbx + 0x18]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov dword [0x1801c0fb8], 2
mov byte [0x1801c0d93], bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
and qword [rbp - 0x10], 0
and qword [rbp - 8], 0
lea r8d, [rbx + 0x1a]
lea rdx, str.User_Connected_Successfully
lea rcx, [rbp - 0x20]
call fcn.180015c68
lea rdx, [rbp - 0x20]
lea rcx, [0x1801c1040]
call fcn.180006210
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r14
pop rsi
pop rbp
ret
Function at 0x180060c70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r14
mov rbp, rsp
sub rsp, 0x80
lea rax, [rbp - 0x40]
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
and qword [rbp - 0x30], 0
and qword [rbp - 0x28], 0
lea rdx, [0x1801c0f70]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], 0
jne 0x180060caa
lea rcx, [rbp - 0x40]
call fcn.180015c68
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
and qword [rbp - 0x50], 0
and qword [rbp - 0x48], 0
lea r14, [0x1801c1348]
mov r8, rbx
inc r8
cmp byte [r14 + r8], 0
jne 0x180060ce1
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180015c68
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
and qword [rbp - 0x10], 0
and qword [rbp - 8], 0
lea rsi, [0x1801c0e70]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x180060d10
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x20]
call fcn.180015c68
nop
lea r9, [rbp - 0x40]
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x20]
lea rcx, [0x1801c1040]
call fcn.180005310
cmp byte [0x1801c1278], 0
je 0x180060e08
call fcn.18001eb04
movabs rax, 0x8052ed68679be9e7
mov qword [rbp - 0x40], rax
movabs rcx, 0x8ff61975ecec0df8
mov qword [rbp - 0x38], rcx
movabs rax, 0x8052ed060efc86ab
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rcx
movaps xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x40], xmm0
lea r8, [0x18012a7f4]
lea rdx, [rbp - 0x40]
lea rcx, [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov r9, qword [0x1801c0fb0]
mov ebx, 1
mov r8d, ebx
mov edx, 0xff
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [0x1801c0fb0]
mov r8d, ebx
lea edx, [rbx + 0x18]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [0x1801c0fb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov dword [0x1801c0fb8], 2
mov byte [0x1801c0d93], bl
mov rbx, qword [rsp + 0xb8]
add rsp, 0x80
pop r14
pop rsi
pop rbp
ret