joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140094050
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1402a3f10]
test rax, rax
jne 0x1400942bd
xor r9d, r9d
mov dword [rsp + 0x28], r9d
mov r11d, 0xfaba0065
mov dword [rsp + 0x24], r11d
mov rax, qword gs:[0x60]
mov qword [rsp + 0xb0], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xb0], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x48], r8
mov r14, r8
mov qword [rsp + 0x50], r8
mov rax, r8
mov r12d, 0x811c9dc5
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x58], xmm0
movd eax, xmm0
sub ax, 8
mov word [rsp + 0x58], ax
test r9d, r9d
je 0x140094121
mov rcx, qword [rsp + 0x60]
movzx eax, ax
shr rax, 1
lea r10, [rcx + rax*2]
mov edx, r12d
mov qword [rsp + 0x38], rcx
cmp rcx, r10
je 0x140094118
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
mov dword [rsp + 0xb0], edx
add rcx, 2
jmp 0x1400940f6
cmp edx, r9d
jne 0x14009428d
mov rbx, qword [r8 + 0x30]
mov qword [rsp + 0x68], rbx
movsxd rax, dword [rbx + 0x3c]
add rax, rbx
mov qword [rsp + 0xb0], rax
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xb8], rax
mov edi, eax
add rdi, rbx
mov qword [rsp + 0x70], rdi
shr rax, 0x20
mov dword [rsp + 0x78], eax
cmp rdi, rbx
je 0x14009428d
mov esi, dword [rdi + 0x18]
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0x20], esi
mov ecx, esi
dec esi
mov dword [rsp + 0x20], esi
test ecx, ecx
je 0x14009428d
mov edx, dword [rdi + 0x20]
add rdx, rbx
mov r10d, dword [rdx + rsi*4]
add r10, rbx
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0x40], r10
mov edx, r12d
movsx ecx, byte [r10]
inc r10
mov qword [rsp + 0x40], r10
test cl, cl
jne 0x140094280
cmp edx, r11d
jne 0x14009427b
mov edx, dword [rdi + 0x1c]
add rdx, rbx
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx ecx, word [rcx + rsi*2]
mov r8d, dword [rdx + rcx*4]
add r8, rbx
mov qword [rsp + 0xb0], r8
cmp r8, rdi
jbe 0x1400942ab
lea rcx, [rdi + rax]
cmp r8, rcx
jae 0x1400942ab
mov r9d, r12d
mov dword [rsp + 0xb0], r12d
mov r11d, r12d
mov dword [rsp + 0xb4], r12d
mov ecx, r12d
mov qword [rsp + 0x30], r8
cmp byte [r8], 0x2e
je 0x140094239
movsx eax, byte [r8]
xor eax, ecx
imul r9d, eax, 0x1000193
mov dword [rsp + 0xb0], r9d
mov dword [rsp + 0xb0], r9d
inc r8
mov ecx, r9d
jmp 0x140094209
inc r8
mov qword [rsp + 0x30], r8
cmp byte [r8], 0
je 0x140094267
movsx eax, byte [r8]
xor eax, r11d
imul r11d, eax, 0x1000193
mov dword [rsp + 0xb0], r11d
mov dword [rsp + 0xb4], r11d
jmp 0x140094239
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0x28], r9d
mov r8, qword [r14]
mov qword [rsp + 0x48], r8
jmp 0x14009428d
jmp 0x140094171
xor ecx, edx
imul edx, ecx, 0x1000193
jmp 0x14009419e
mov r8, qword [r8]
mov rax, r8
mov qword [rsp + 0x48], r8
cmp r8, r14
je 0x1400942a8
cmp qword [r8 + 0x30], 0
jne 0x1400940c9
xor r8d, r8d
mov qword [rsp + 0xb0], r8
mov qword [0x1402a3f10], r8
mov rax, r8
mov qword [rsp + 0xb0], rax
mov ecx, 0x99999999
call rax
jmp 0x140094481
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x14009449c
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x48], rax
and qword [rsp + 0x40], 0
mov rsi, r8
and qword [rsp + 0x30], 0
mov edi, edx
mov rbx, rcx
mov dword [rsp + 0x20], 0xf0000000
xor r8d, r8d
lea rcx, [rsp + 0x40]
xor edx, edx
mov r9d, Ordinal_27
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0x800c
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x38]
and dword [rsp + 0x20], 0
mov r8, rsi
mov edx, 2
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14012ce10
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400be0b4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r13d, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ebx, ebx
mov rdi, rax
movsxd rcx, dword [rax + 0x3c]
mov esi, dword [rcx + rax + 0x88]
add rsi, rax
mov r14d, dword [rsi + 0x1c]
mov r12d, dword [rsi + 0x20]
add r14, rax
mov r15d, dword [rsi + 0x24]
add r12, rax
add r15, rax
cmp dword [rsi + 0x14], ebx
jbe 0x1400be11e
mov ecx, dword [r12 + rbx*4]
add rcx, rdi
call fcn.1400be14c
cmp eax, r13d
je 0x1400be13d
inc ebx
cmp ebx, dword [rsi + 0x14]
jb 0x1400be106
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx eax, word [r15 + rbx*2]
mov eax, dword [r14 + rax*4]
add rax, rdi
jmp 0x1400be120
Function at 0x1400cdd10
Capabilities:
Encode data using xor

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

Function at 0x1400cdd60
Capabilities:
Encode data using xor

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

Function at 0x1400cdd90
Capabilities:
Encode data using xor

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

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xa0
mov rax, qword [0x1402a0ec0]
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 0x1400d2e8c
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400d2c92
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.1400121e0
nop
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rax, rdx
sub rax, rcx
cmp rax, 0x11
jb 0x1400d2d13
lea rax, [rcx + 0x11]
mov qword [rsp + 0x78], rax
lea rbx, [rsp + 0x68]
cmp rdx, 0xf
cmova 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 0x1400d2d35
mov qword [rsp + 0x20], reloc.WS2_32.dll_recvfrom
lea r9, str.__timeout__t_5_
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recvfrom
lea rcx, [rsp + 0x68]
call fcn.140011798
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], 0xf
cmova 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, 0xf
jbe 0x1400d2dc1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d2dbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400d2dbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012c930
movdqa xmm0, xmmword [0x140254f70]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x1400d2e17
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d2e12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400d2e12
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012c930
xor ecx, ecx
int 0x29
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x1400d2e51
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400d2e4c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400d2e85
mov rcx, r8
call fcn.14012c930
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.14012ce10
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.140015f20
nop
int3
Function at 0x1400d38d0
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 rbx, rcx
mov qword [rsp + 0x38], rcx
xor edi, edi
mov dword [rsp + 0x30], edi
lea rcx, str.ALLUSERSPROFILE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x1400d3930
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400d3917
mov rdx, rax
mov rcx, rbx
call fcn.1400110ec
jmp 0x1400d39e4
lea rcx, [rsp + 0x40]
call fcn.1400ce770
nop
mov rsi, rax
cmp qword [rax + 0x18], 7
jbe 0x1400d3948
mov rsi, qword [rax]
mov rbp, qword [rax + 0x10]
call fcn.14012c200
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
test rbp, rbp
je 0x1400d39da
cmp rbp, 0x7fffffff
ja 0x1400d3a06
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, ebp
mov rdx, rsi
mov ecx, eax
call fcn.14012c270
mov rdi, rax
shr rax, 0x20
test eax, eax
jne 0x1400d3a11
movsxd rdx, edi
xor r8d, r8d
mov rcx, rbx
call fcn.1400d8de0
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400d39bd
mov r9, qword [rbx]
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov rdx, rsi
mov ecx, r14d
call fcn.14012c270
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x1400d39fc
lea rcx, [rsp + 0x40]
call fcn.140015ea0
mov rax, rbx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
shr rcx, 0x20
call fcn.1400b8b64
int3
mov ecx, reloc.WLDAP32.dll_Ordinal_22
call fcn.1400b8b28
int3
shr rdi, 0x20
mov ecx, edi
call fcn.1400b8b64
int3
Function at 0x1400dbec0
Capabilities:
Map section object

Disassembly:
mov r11, rsp
sub rsp, 0x78
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov qword [r11 - 0x28], rdx
mov qword [r11 - 0x20], r8
mov qword [r11 - 0x18], r9
mov eax, dword [rsp + 0xa0]
lea r8, [r11 - 0x28]
mov dword [rsp + 0x48], eax
xor r9d, r9d
mov dword [rsp + 0x40], 0x400000
lea rax, [r11 - 0x20]
mov dword [rsp + 0x38], 2
or rdx, 0xffffffffffffffff
mov qword [r11 - 0x48], rax
lea rax, [r11 - 0x18]
mov qword [r11 - 0x50], rax
and qword [r11 - 0x58], 0
call sub.ntdll.dll_NtMapViewOfSection
not eax
shr eax, 0x1f
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14012ce10
add rsp, 0x78
ret

Function at 0x1400dc17c
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
lea rdx, [rsp + 0x28]
xor ebx, ebx
mov rdi, rcx
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], ebx
movups xmmword [rsp + 0x38], xmm0
lea r8d, [rbx + 0x30]
movups xmmword [rsp + 0x48], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1400dc1eb
mov rdx, qword [rsp + 0x40]
lea eax, [rbx + 0x40]
cmp dword [rsp + 0x4c], eax
lea r8d, [rbx + 1]
lea r9, [rsp + 0x20]
mov rcx, rdi
cmovne r8d, eax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14012ce10
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret

Function at 0x1400dc208
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
mov rbx, rcx
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx r10d, word [rbx + 6]
lea rdx, [rbx + 0x30]
movzx eax, word [rbx + 0x14]
xor edi, edi
mov r9d, dword [rsp + 0x48]
movzx r8d, di
cmp di, r10w
jae 0x1400dc28e
lea r11, [rax + rbx]
lea ebx, [r9 - 1]
movzx eax, r8w
lea rcx, [rax + rax*4]
mov eax, dword [r11 + rcx*8 + 0x24]
mov ecx, edi
add rax, qword [rdx]
test rbx, rax
sete cl
test rbx, rax
jne 0x1400dc29a
inc r8w
cmp r8w, r10w
jb 0x1400dc267
lea ecx, [r9 - 1]
test qword [rdx], rcx
mov ecx, edi
sete cl
mov eax, ecx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14012ce10
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
Function at 0x1400e1380
Capabilities:
Read file on windows

Disassembly:
sub rsp, 0x28
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
cdqe
add rsp, 0x28
ret
Function at 0x1400f3610
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, 0x30
cmp qword [rcx + 0x718], 0
mov rsi, r9
mov rbp, r8
movsxd rbx, edx
mov rdi, rcx
je 0x1400f366e
mov dl, 1
call fcn.1400e36d0
mov rax, qword [rdi + 0x670]
mov r9, rsi
mov r8, rbp
mov qword [rsp + 0x20], rax
mov edx, ebx
mov rcx, rdi
call qword [rdi + 0x718]
xor edx, edx
mov rcx, rdi
mov ebx, eax
call fcn.1400e36d0
mov eax, ebx
jmp 0x1400f36b2
cmp ebx, 2
ja 0x1400f36b0
mov r9, qword [rdi + 0x668]
lea rdx, [0x14025b1f8]
lea rcx, [rbx + rbx*2]
add rcx, rdx
mov edx, 2
lea r8d, [rdx - 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [rdi + 0x668]
mov r8d, 1
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret

Function at 0x1400f36d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rdi
sub rsp, 0x160
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp byte [rcx + 0xf1e], 0
mov rdi, rcx
jne 0x1400f3713
cmp qword [rcx + 0x678], 0
je 0x1400f37f0
mov r8, rdx
mov qword [rsp + 0x158], rbx
mov edx, 0x100
lea r9, [rsp + 0x180]
lea rcx, [rsp + 0x30]
call fcn.1400e1770
lea rax, [rsp + 0x30]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400f3741
mov rcx, qword [rdi + 0x678]
test rcx, rcx
je 0x1400f3788
cmp byte [rdi + 0x1597], 0
jne 0x1400f3788
lea rdx, [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400f3770
mov byte [rdi + 0x1597], 1
cmp byte [rdi + 0xf1e], 0
je 0x1400f37e8
mov byte [rsp + rbx + 0x30], 0xa
inc rbx
cmp rbx, 0x102
jae 0x1400f3843
cmp qword [rdi + 0x718], 0
mov byte [rsp + rbx + 0x30], 0
je 0x1400f3809
mov dl, 1
mov rcx, rdi
call fcn.1400e36d0
mov rax, qword [rdi + 0x670]
lea r8, [rsp + 0x30]
mov r9, rbx
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call qword [rdi + 0x718]
xor edx, edx
mov rcx, rdi
call fcn.1400e36d0
mov rbx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14012ce10
add rsp, 0x160
pop rdi
ret
mov r9, qword [rdi + 0x668]
lea rcx, [0x14025b1f8]
mov edx, 2
lea r8d, [rdx - 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [rdi + 0x668]
lea rcx, [rsp + 0x30]
mov r8d, 1
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
jmp 0x1400f37e8
call fcn.14012cf64
int3
Function at 0x1400f3850
Capabilities:
Write file on windows

Disassembly:
test rcx, rcx
je 0x1400f39b6
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rdi
sub rsp, 0x860
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x840], rax
cmp byte [rcx + 0xf1e], 0
mov rdi, rcx
je 0x1400f399e
mov r8, rdx
mov qword [r11 - 0x10], rbx
mov edx, 0x801
lea r9, [r11 + 0x18]
lea rcx, [rsp + 0x30]
call fcn.1400e1770
movsxd rcx, eax
mov rbx, 0xffffffffffffffff
cmp rcx, 0x801
jb 0x1400f3911
mov rcx, qword [rsp + 0x878]
mov rax, rbx
nop word [rax + rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x1400f38d0
cmp byte [rax + rcx - 1], 0xa
jne 0x1400f38f8
lea r8, str...._n
mov edx, 5
lea rcx, [rsp + 0x82c]
jmp 0x1400f390c
lea r8, [0x14025b218]
mov edx, 4
lea rcx, [rsp + 0x82d]
call fcn.1400e1670
lea rax, [rsp + 0x30]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400f3916
cmp qword [rdi + 0x718], 0
je 0x1400f395e
mov dl, 1
mov rcx, rdi
call fcn.1400e36d0
mov rax, qword [rdi + 0x670]
lea r8, [rsp + 0x30]
mov r9, rbx
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call qword [rdi + 0x718]
xor edx, edx
mov rcx, rdi
call fcn.1400e36d0
jmp 0x1400f3996
mov r9, qword [rdi + 0x668]
lea rcx, [0x14025b1f8]
mov edx, 2
lea r8d, [rdx - 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [rdi + 0x668]
lea rcx, [rsp + 0x30]
mov r8d, 1
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rbx, qword [rsp + 0x858]
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.14012ce10
add rsp, 0x860
pop rdi
ret

Function at 0x1400f3a50
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, r9
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
movsxd rcx, eax
cmp rcx, 0xffffffffffffffff
jne 0x1400f3a92
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, Ordinal_60
mov qword [rbx], 0
cmp eax, 0x2733
mov edx, 0x51
cmove ecx, edx
mov eax, ecx
add rsp, 0x20
pop rbx
ret
mov qword [rbx], rcx
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x1400f3c30
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x138
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov r14, qword [rsp + 0x1a0]
mov rsi, rcx
movsxd rcx, edx
xor r13d, r13d
mov rax, rcx
mov r12, r9
shl rax, 5
mov r15, r8
lea rbx, [rsi + 0x508]
mov rbp, qword [rsi + rcx*8 + 0x4c0]
add rbx, rax
mov rax, qword [rsi + 0x698]
mov rdi, qword [rbx + 8]
sub rdi, qword [rbx + 0x10]
test byte [rax + 0x7c], 3
je 0x1400f3d37
lea rax, [0x1400f3ae0]
cmp qword [rsi + rcx*8 + 0x4e8], rax
jne 0x1400f3d37
cmp qword [rbx], r13
je 0x1400f3cbe
test rdi, rdi
je 0x1400f3d37
mov rdx, 0xffffffffffffffff
xor r9d, r9d
mov r8, rdx
mov rcx, rbp
call fcn.1401031a0
cmp eax, 0xffffffff
je 0x1400f3d37
test al, 1
je 0x1400f3d37
mov rax, qword [rbx]
test rax, rax
jne 0x1400f3d10
mov rax, qword [rsi]
mov ecx, dword [rax + 0xb70]
add ecx, ecx
movsxd rcx, ecx
mov qword [rbx + 8], rcx
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, qword [rbx + 8]
mov qword [rbx], rax
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
test rax, rax
je 0x1400f3d33
mov rdx, qword [rbx + 0x10]
xor r9d, r9d
add rdx, rax
mov r8d, edi
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_recv]
movsxd rcx, eax
test eax, eax
jle 0x1400f3d37
add qword [rbx + 0x10], rcx
jmp 0x1400f3d37
mov qword [rbx + 8], r13
xor r9d, r9d
mov r8d, r12d
mov rdx, r15
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_send]
movsxd rdi, eax
mov dword [r14], r13d
cmp rdi, 0xffffffffffffffff
jne 0x1400f3da4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
cmp eax, 0x2733
jne 0x1400f3d70
mov dword [r14], 0x51
mov rax, r13
jmp 0x1400f3da7
mov r8d, 0x100
lea rdx, [rsp + 0x20]
mov ecx, ebx
call fcn.1400dce10
mov rcx, qword [rsi]
lea rdx, str.Send_failure:__s
mov r8, rax
call fcn.1400f36d0
mov rcx, qword [rsi]
mov dword [rcx + 0x11b0], ebx
mov dword [r14], Ordinal_60
mov rax, rdi
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14012ce10
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x1400f4440
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub rsp, 0x28
cmp byte [rcx + 0x558], 0
je 0x1400f445d
call fcn.1400ecd90
test eax, eax
jne 0x1400f4483
xor al, al
add rsp, 0x28
ret
mov rcx, qword [rcx + 0x4c0]
cmp rcx, 0xffffffffffffffff
je 0x1400f4456
mov r9d, 2
lea rdx, [rsp + 0x30]
lea r8d, [r9 - 1]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x1400f4456
mov al, 1
add rsp, 0x28
ret
Function at 0x1400f63f0
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x20
mov rbx, rcx
xor ebp, ebp
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x1400f641a
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret
lea rdx, str.LoadLibraryExA
mov qword [rsp + 0x48], r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [0x140255ea0]
mov rcx, rbx
mov r14, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strpbrk]
test rax, rax
je 0x1400f647e
mov rcx, rbx
test r14, r14
je 0x1400f6468
xor edx, edx
lea r8d, [rdx + 8]
call r14
mov r14, qword [rsp + 0x48]
mov rbp, rax
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r14, qword [rsp + 0x48]
mov rbp, rax
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret
test r14, r14
je 0x1400f64b6
lea rdx, str.AddDllDirectory
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400f64b6
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call r14
mov r14, qword [rsp + 0x48]
mov rbp, rax
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret
xor edx, edx
mov qword [rsp + 0x50], r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov r15d, eax
test eax, eax
je 0x1400f6578
mov qword [rsp + 0x40], rsi
mov rsi, 0xffffffffffffffff
mov rdx, rsi
nop
inc rdx
cmp byte [rbx + rdx], bpl
jne 0x1400f64e0
lea ecx, [rax + 1]
add rcx, rdx
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
je 0x1400f656a
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x1400f656a
mov rax, rsi
cmp byte [rdi + rax + 1], bpl
lea rax, [rax + 1]
jne 0x1400f6510
mov ecx, 0x5c
mov word [rax + rdi], cx
inc rsi
cmp byte [rdi + rsi], bpl
jne 0x1400f6524
mov rcx, rdi
sub rcx, rbx
add rcx, rsi
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x1400f6540
mov rcx, rdi
test r14, r14
je 0x1400f6561
xor edx, edx
lea r8d, [rdx + 8]
call r14
jmp 0x1400f6567
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbp, rax
mov rcx, rdi
call qword [fcn.14012dce0]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov rax, rbp
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret