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

Disassembly:
push rsi
sub rsp, 0xfb0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x1400fbd00
test al, 1
je 0x1400fbdaa
test al, 2
jne 0x1400fbdc4
test al, 8
jne 0x1400fbd3b
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x60], 4
lea rdx, [rsp + 0x60]
call fcn.1400fc5a0
jmp 0x1400fbd59
test al, 0x10
je 0x1400fbd59
mov rax, qword [rsi + 0xf90]
test rax, rax
je 0x1400fbe41
mov rcx, qword [rsi + 0xf98]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.14014b690
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x30], rax
shl rax, 6
shl eax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x30]
jb 0x1400fbdde
jne 0x1400fbda0
mov rcx, rsi
add rsp, 0xfb0
pop rsi
jmp fcn.1400fbe80
nop
add rsp, 0xfb0
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1401e0910]
mov edx, 0x23
call fcn.140160fb0
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1401e08d0]
mov edx, 0x25
call fcn.140160fb0
ud2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [fcn.140058ea0]
lodsb al, byte [rsi]
sal ch, 1
dec dword [rax - 0x77]
and al, 0x48
lea rax, str.waker_missing
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rax, [0x140204680]
add byte [rax - 0x77], cl
and al, 0x70
Function at 0x1400fc730
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xfb0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x1400fc740
test al, 1
je 0x1400fc7ea
test al, 2
jne 0x1400fc804
test al, 8
jne 0x1400fc77b
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x60], 4
lea rdx, [rsp + 0x60]
call fcn.1400fc5a0
jmp 0x1400fc799
test al, 0x10
je 0x1400fc799
mov rax, qword [rsi + 0xf90]
test rax, rax
je 0x1400fc881
mov rcx, qword [rsi + 0xf98]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.14014a110
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x30], rax
shl rax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x30]
jb 0x1400fc81e
jne 0x1400fc7e0
mov rcx, rsi
add rsp, 0xfb0
pop rsi
jmp fcn.1400fc8c0
nop
add rsp, 0xfb0
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1401e0910]
mov edx, 0x23
call fcn.140160fb0
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1401e08d0]
mov edx, 0x25
call fcn.140160fb0
ud2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [fcn.140058ea0]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x20], 2
lea rdx, str.current:___sub:___t
lea rsi, [rsp + 0x60]
lea r9, [rsp + 0x40]
mov r8d, 2
mov rcx, rsi
call fcn.140144a40
lea rdx, [0x1401e0958]
mov rcx, rsi
call fcn.140160e20
ud2
lea rax, str.waker_missing
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rax, [0x140204680]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea rdx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_runtime_taskcore.rs_b
lea rcx, [rsp + 0x60]
call fcn.140160e20
ud2
Function at 0x1401026a0
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x398
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rdx + 0x251]
test eax, eax
je 0x1401026e3
cmp eax, 3
jne 0x140102f32
mov r8, qword [rsi + 0x240]
mov rax, qword [rsi + 0x248]
jmp 0x14010293c
movups xmm0, xmmword [rsi + 0x70]
movups xmmword [rsi + 0x148], xmm0
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [rsi + 0x138], xmm0
movups xmm0, xmmword [rsi + 0x50]
movups xmmword [rsi + 0x128], xmm0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rsi + 0x118], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [rsi + 0x108], xmm3
movups xmmword [rsi + 0xf8], xmm2
movups xmmword [rsi + 0xe8], xmm1
movups xmmword [rsi + 0xd8], xmm0
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rsi + 0x158], xmm0
movups xmm0, xmmword [rsi + 0x90]
movups xmmword [rsi + 0x168], xmm0
movups xmm0, xmmword [rsi + 0xa0]
movups xmmword [rsi + 0x178], xmm0
movups xmm0, xmmword [rsi + 0xb0]
movups xmmword [rsi + 0x188], xmm0
movups xmm0, xmmword [rsi + 0xc0]
movups xmmword [rsi + 0x198], xmm0
mov rax, qword [rsi + 0xd0]
mov qword [rsi + 0x1a8], rax
movzx eax, byte [rsi + 0x250]
mov byte [rsi + 0x252], al
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0xf8]
movups xmmword [rsi + 0x1b0], xmm2
mov rax, qword [rsi + 0x108]
mov qword [rsi + 0x1c0], rax
movups xmmword [rsi + 0x1c8], xmm0
movups xmmword [rsi + 0x1d8], xmm1
mov rax, qword [rsi + 0x1b0]
lock inc qword [rax]
jle 0x140102f2e
mov rcx, qword [rsi + 0x1b8]
mov rdx, qword [rsi + 0x1c0]
lock inc qword [rcx]
jle 0x140102f2e
lea r12, [rsi + 0x158]
lea r14, [rsi + 0x1e8]
mov qword [rsi + 0x1e8], rax
mov qword [rsi + 0x1f0], rcx
mov qword [rsi + 0x1f8], rdx
cmp byte [rsi + 0x151], 0
je 0x140102846
movzx eax, byte [r12]
test rax, rax
je 0x140102821
cmp eax, 1
je case.0x1400e91e9.100
cmp eax, 2
je 0x140102821
lea rcx, str.internal_error:_entered_unreachable_code_rustc_cc66ad468955717ab92600c770da8c1601a4ff33library_std_src_threadmod.rs
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.9_srcuri_scheme.rs
mov edx, 0x28
call fcn.140160fb0
ud2
ud2
lea rcx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chain
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.22_srcconnect.rs
mov edx, 0x23
call fcn.140160fb0
ud2

Function at 0x140102f90
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
Function at 0x140103a00
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm8
add byte [rdi], cl
sub dword [rsp + 0x90], edi
movaps xmmword [rsp + 0x80], xmm6
mov eax, dword [0x1402153fc]
mov rcx, qword gs:[0x58]
invalid
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x70], 0
jne 0x140103a50
call fcn.140077390
mov eax, dword [0x1402153fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm6, xmmword [rax + 0x78]
inc qword [rax + 0x78]
add byte [rax], al
pshufd xmm7, xmm6, 0x44
pxor xmm7, xmmword [str.uespemosarenegylmodnarodsetybdet]
pshufd xmm8, xmm6, 0xee
pxor xmm8, xmmword [0x140168640]
add eax, 0x64bb2
mov ebx, 1
lea r14, [rsp + 0x60]
lea esi, [rsp + 0x60]
xorps xmm9, xmm9
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x28]
sub byte [rsi + 0x2e], ah
nop dword [rax + rax]

Function at 0x1401043f0
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
Function at 0x1401060c0
Capabilities:
Get remote cert context via schannel

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x100], xmm6
mov qword [rbp + 0xf8], 0xfffffffffffffffe
mov rdi, rdx
mov qword [rbp + 0xe8], rcx
lea rax, [rdx + 0x44]
mov qword [rbp + 8], rax
lea rax, [rdx + 0x10]
mov qword [rbp + 0x38], rax
lea rax, [rdx + 0xc0]
mov qword [rbp + 0x70], rax
lea r13, [rbp + 0xb0]
xorps xmm6, xmm6
Function at 0x14010b940
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x270], 0xfffffffffffffffe
mov qword [rbp + 0x238], r8
mov rsi, rdx
mov qword [rbp + 0x158], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
je 0x14010b9ac
cmp eax, 3
jne case.default.0x14010b9aa
lea rax, [rsi + 0x1f0]
mov qword [rbp + 0x268], rax
movzx eax, byte [rsi + 0x280]
lea rcx, [0x14020aba0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x40], rax
xor r12d, r12d
mov rcx, qword [rax + 0x10]
mov r15, r12
cmp rcx, qword [rax + 0x18]
jne 0x14010ba04
lea rcx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chain
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.27_srcclientconnecthttp.rs
jmp 0x14010ce65
Function at 0x14010f260
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x908
movdqa xmmword [rsp + 0x8f0], xmm12
movdqa xmmword [rsp + 0x8e0], xmm11
movdqa xmmword [rsp + 0x8d0], xmm10
movdqa xmmword [rsp + 0x8c0], xmm9
movaps xmmword [rsp + 0x8b0], xmm8
movdqa xmmword [rsp + 0x8a0], xmm7
movdqa xmmword [rsp + 0x890], xmm6
mov r12, r8
mov r15, rdx
mov qword [rsp + 0x160], rcx
mov rcx, qword [rdx + 0x130]
test rcx, rcx
test ecx, ecx
Function at 0x140120ea0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x300
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x140120eb0
test al, 1
je 0x140120f5a
test al, 2
jne 0x140120f74
test al, 8
jne 0x140120eeb
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x60], 4
lea rdx, [rsp + 0x60]
call fcn.14011ffe0
jmp 0x140120f09
test al, 0x10
je 0x140120f09
mov rax, qword [rsi + 0x2e0]
test rax, rax
je 0x140120ff1
mov rcx, qword [rsi + 0x2e8]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.14014a110
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x30], rax
shl rax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x30]
jb 0x140120f8e
jne 0x140120f50
mov rcx, rsi
add rsp, 0x300
pop rsi
jmp fcn.140121030
nop
add rsp, 0x300
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1401e08d0]
mov edx, 0x25
call fcn.140160fb0
ud2
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [fcn.140058ea0]
lea rax, str.waker_missing
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rax, [0x140204680]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea rdx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_runtime_taskcore.rs_b
lea rcx, [rsp + 0x60]
call fcn.140160e20
ud2

Function at 0x1401289a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae fcn.140059330
cmp rax, rcx
je 0x1401289c5
cmp rdx, 4
jae 0x1401289c8
xor eax, eax
xor r8d, r8d
jmp 0x140128a60
xor eax, eax
ret
mov r8, rdx
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1401688b0]
movdqa xmm3, xmmword [0x1401687a0]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x1401289f0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x140128a77
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x140128a60
ret
Function at 0x1401299f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov r9, qword [rcx]
test r9, r9
je 0x140129a4b
mov r10, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
cmp rcx, r10
jae 0x140129a4b
movzx eax, byte [r9 + rcx]
cmp eax, 0x49
je 0x140129a66
cmp eax, 0x42
jne 0x140129a4b
lea r11, [rcx + 1]
mov qword [rsi + 0x10], r11
cmp r11, r10
jae 0x140129b16
cmp byte [r9 + r11], 0x5f
jne 0x140129b16
lea rax, [rcx + 2]
mov qword [rsi + 0x10], rax
xor eax, eax
jmp 0x140129b7e
mov rcx, rsi
xor edx, edx
call case.0x14010e86a.126
mov edi, eax
add dil, dil
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
inc rcx
mov qword [rsi + 0x10], rcx
mov rcx, rsi
xor edx, edx
call case.0x14010e86a.126
test al, al
jne 0x140129c11
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x140129aa2
lea rdx, [0x1401da0b3]
mov r8d, 1
call fcn.140059ad0
test al, al
jne 0x140129c11
mov rax, qword [rsi]
mov dil, 1
test rax, rax
je 0x140129a5a
xor r14d, r14d
lea rbx, [0x1401da468]
nop word [rax + rax]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 8]
jae 0x140129ad4
cmp byte [rax + rcx], 0x45
je 0x140129c3a
sub r14, 1
jb 0x140129af9
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x140129af9
mov r8d, 2
mov rdx, rbx
call fcn.140059ad0
test al, al
jne 0x140129c11
mov rcx, rsi
call case.0x140111664.158
test al, al
jne 0x140129c11
mov rax, qword [rsi]
test rax, rax
jne 0x140129ac0
jmp 0x140129a5a
xor eax, eax
mov edi, 0x3e
nop dword [rax]
mov r8b, 1
cmp r11, r10
jae 0x140129bd8
movzx edx, byte [r9 + r11]
cmp dl, 0x5f
je 0x140129b72
lea ebx, [rdx - 0x30]
cmp bl, 0xa
jb 0x140129b5c
lea ebx, [rdx - 0x61]
cmp bl, 0x1a
jae 0x140129b4b
add dl, 0xa9
jmp 0x140129b5a
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
jae 0x140129bd8
add dl, 0xe3
mov ebx, edx
inc r11
mov qword [rsi + 0x10], r11
mul rdi
jo 0x140129bd8
movzx edx, bl
add rax, rdx
jae 0x140129b20
jmp 0x140129bd8
inc r11
mov qword [rsi + 0x10], r11
inc rax
je 0x140129bd8
cmp rax, rcx
jae 0x140129bd5
mov ecx, dword [rsi + 0x18]
inc ecx
cmp ecx, 0x1f4
ja 0x140129c19
cmp qword [rsi + 0x20], 0
je 0x140129c33
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], ecx
mov rcx, rsi
call fcn.1401299f0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x140129a5c
mov r8b, 1
xor edi, edi
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x140129c28
lea rax, str.invalid_syntaxrecursion_limit_reached
lea rdx, [0x1401da428]
test r8b, r8b
cmovne rdx, rax
xor r8b, 1
movzx eax, r8b
lea r8, [rax + rax*8]
add r8, 0x10
call fcn.140059ad0
test al, al
je 0x140129c28
mov dil, 2
jmp 0x140129a5a
mov dil, 1
xor r8d, r8d
mov rcx, qword [rsi + 0x20]
test rcx, rcx
jne 0x140129be3
mov qword [rsi], 0
mov byte [rsi + 8], dil
xor edi, edi
jmp 0x140129a5a
inc rcx
mov qword [rsi + 0x10], rcx
jmp 0x140129a5a
Function at 0x14012bd90
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x60], 4
mov dword [rsp + 0xa8], 0x400010
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x14012bdf7
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14012be38
mov r8, qword [rcx + 0x40]
xor edx, edx
test r8, r8
je 0x14012be31
lea r9, [0x1402079d8]
xor r10d, r10d
nop word cs:[rax + rax]
movzx r11d, byte [rax + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp r8, r10
jne 0x14012be20
mov dword [rsp + 0x98], edx
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x14012bea2
mov rbx, qword [rcx]
lea rdi, [r14*8]
movzx eax, byte [0x1402153f8]
mov rcx, qword [0x140215360]
test rcx, rcx
jne 0x14012be78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14012bf97
mov rcx, rax
mov qword [0x140215360], rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14012bf97
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, r14d
jmp 0x14012bea9
xor eax, eax
mov esi, 8
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.secur32.dll_AcquireCredentialsHandleA]
test eax, eax
je 0x14012bf34
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov ebx, 1
test r14, r14
je 0x14012bf19
mov rcx, qword [0x140215360]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, rbx
mov rdx, rdi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
ret
movaps xmm6, xmmword [rsp + 0x50]
movzx eax, byte [0x1402153f8]
mov rcx, qword [0x140215360]
test rcx, rcx
jne 0x14012bf61
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14012bfa6
mov rcx, rax
mov qword [0x140215360], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14012bfa6
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
xor ebx, ebx
test r14, r14
jne 0x14012bf07
jmp 0x14012bf19
mov ecx, 8
mov rdx, rdi
call fcn.14015d7f0
ud2
mov ecx, 8
mov edx, 0x20
call fcn.14015d7f0
ud2

Function at 0x14012f1e0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
in al, dx
test al, 0
add byte [rax], al

Function at 0x140132fe0
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4a8
lea rbp, [rsp + 0x80]
add byte [rdi], cl
sub dword [rbp + 0x410], esi
Function at 0x140135c60
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x1401dc940]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, 0x103
jne 0x140135ccc
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x140135cdb
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x140135d13
cmp eax, 0x103
je 0x140135d1d
test eax, eax
js 0x140135cf8
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x140135d13
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x20], 0
lea rdx, [0x1401dc9a8]
lea rsi, [rsp + 0x78]
lea r9, [rsp + 0x50]
mov r8d, 1
mov rcx, rsi
call fcn.14012df10
lea rcx, [rsp + 0x58]
mov rdx, rsi
call fcn.14012d610
mov rcx, rax
call fcn.14012d750
mov ecx, 7
int 0x29
ud2
Function at 0x1401392c0
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1e0
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x140215368]
cmp rax, 3
jne 0x140139489
cmp rbx, 0x17f
ja case.0x140131419.495
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x60], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x140139338
xor edx, edx
nop
cmp byte [rsp + rdx + 0x60], 0
je 0x1401393f4
inc rdx
cmp rax, rdx
jne 0x140139320
jmp 0x140139450
lea rcx, [rsp + 0x67]
and rcx, 0xfffffffffffffff8
sub rcx, r15
je 0x14013936e
je 0x14013936e
xor edx, edx
nop word [rax + rax]
cmp byte [rsp + rdx + 0x60], 0
je 0x1401393f4
inc rdx
cmp rcx, rdx
jne 0x140139350
lea rdx, [rbx - 0xf]
cmp rcx, rdx
jbe 0x140139374
jmp 0x1401393c5
lea rdx, [rbx - 0xf]
xor ecx, ecx
movabs r8, 0xfefefefefefefeff
movabs r9, 0x8080808080808080
nop dword [rax + rax]
mov r10, qword [rsp + rcx + 0x60]
mov r11, r10
not r11
add r10, r8
and r10, r11
test r10, r9
jne 0x1401393c5
mov r10, qword [rsp + rcx + 0x68]
mov r11, r10
not r11
add r10, r8
and r10, r11
test r10, r9
jne 0x1401393c5
add rcx, 0x10
cmp rcx, rdx
jbe 0x140139390
sub rax, rcx
je 0x140139450
lea r8, [rsp + rcx]
add r8, 0x60
xor edx, edx
nop dword [rax + rax]
cmp byte [r8 + rdx], 0
je 0x1401393f1
inc rdx
cmp rax, rdx
jne 0x1401393e0
jmp 0x140139450
add rdx, rcx
cmp rdx, rbx
jne 0x140139450
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x140139464
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14013947a
invalid
invalid
Function at 0x14013a390
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x1402153f8]
mov rcx, qword [0x140215360]
test rcx, rcx
jne 0x14013a3dc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14013a4a9
mov rcx, rax
mov qword [0x140215360], rax
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14013a4a9
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x14013a540]
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x14013a49b
mov rcx, qword [rbx]
mov qword [rbp - 0x18], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x10], rax
call qword [rax]
mov rax, qword [rbp - 0x10]
cmp qword [rax + 8], 0
mov rsi, qword [rbp - 0x18]
je 0x14013a475
cmp qword [rax + 0x10], 0x11
jae 0x14013a45e
mov r8, qword [rbp - 0x20]
jmp 0x14013a466
mov r8, qword [rbp - 0x20]
mov r8, qword [r8 - 8]
mov rcx, qword [0x140215360]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x140215360]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], rdi
mov ecx, 8
mov edx, reloc.WS2_32.dll_recv
call fcn.14015d7f0
ud2

Function at 0x14013a690
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, reloc.WS2_32.dll_recv
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
je 0x14013a6d3
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [fcn.140133df0]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.140160e20
ud2

Function at 0x14013ef20
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rbx, r8
mov rsi, rcx
test rdx, rdx
je 0x14013ef4b
mov qword [rsi + 8], rbx
mov rax, qword [0x140215368]
cmp rax, 3
jne 0x14013f0d0
cmp word [rbx], 0
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je case.0x14012f071.1381
call fcn.140166a20
jmp 0x14013ef5c