joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800d3b70
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
lea rcx, [rdx + 0x1c0]
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x28]
mov edx, 0x53
call qword [sym.imp.Secur32.dll_QueryContextAttributesW]
mov rdi, rax
shl rdi, 0x20
or rdi, 2
test eax, eax
jne 0x1800d3bb2
mov rdi, qword [rsp + 0x28]
je 0x1800d3c21
mov eax, edi
and eax, 3
xor r14d, r14d
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1800d3c8d
test rax, rax
je 0x1800d3c8d
lea rbx, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x1800d3c0a
mov r8, qword [rdi - 1]
cmp qword [rax + 0x10], 0x11
jb 0x1800d3bfb
mov r8, qword [r8 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180219958]
xor r14d, r14d
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800d3c8d
mov r15, qword [rdi + 8]
mov ebx, dword [rdi + 0x10]
test rbx, rbx
je 0x1800d3c70
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800d3c4e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800d3c61
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1800d3c76
mov ecx, 1
mov rdx, rbx
call fcn.18017ea70
ud2
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.180170ea0
mov rcx, rdi
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rbx
mov qword [rsi + 8], r14
mov qword [rsi], 1
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1800d5af0
Capabilities:
Decrypt data via sspi

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
mov rax, qword [rdx + 0x198]
cmp rax, qword [rdx + 0x190]
ja 0x1800d5dac
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x180]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], 1
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movabs rax, 0x400000000
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x70], rax
lea rcx, [rdx + 0x1c0]
lea rdx, [rsp + 0x68]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.Secur32.dll_DecryptMessage]
cmp eax, 0x90316
jg 0x1800d5c63
cmp eax, 0x80090318
je 0x1800d5ce5
test eax, eax
jne 0x1800d5d03
mov rax, qword [rsp + 0x40]
mov r14, qword [rdi + 0x180]
sub rax, r14
mov ebx, dword [rsp + 0x38]
mov rcx, rax
mov qword [rdi + 0x170], 0
add rcx, rbx
jb 0x1800d5dac
cmp rcx, qword [rdi + 0x190]
ja 0x1800d5dac
add r14, rax
xor r15d, r15d
cmp qword [rdi + 0x168], rbx
jb 0x1800d5d8f
xor r12d, r12d
mov rcx, qword [rdi + 0x160]
add rcx, r12
mov rdx, r14
mov r8, rbx
call fcn.180170ea0
add r12, rbx
cmp dword [rsp + 0x5c], 5
mov qword [rdi + 0x170], r12
cmove r15d, dword [rsp + 0x58]
mov qword [rdi + 0x178], 0
mov rax, qword [rdi + 0x198]
mov rdx, rax
sub rdx, r15
jb 0x1800d5dac
test r15, r15
je 0x1800d5d31
mov rcx, qword [rdi + 0x190]
mov rbx, rcx
sub rbx, rdx
jb 0x1800d5dac
mov qword [rdi + 0x190], 0
cmp rax, r15
jne 0x1800d5d13
test rcx, rcx
jne 0x1800d5d2a
jmp 0x1800d5d31
cmp eax, 0x90317
je 0x1800d5cfd
cmp eax, 0x90321
jne 0x1800d5d03
xor r14d, r14d
cmp dword [rsp + 0x5c], 5
mov dword [rdi + 0x140], 0x10000
cmove r14d, dword [rsp + 0x58]
mov byte [rdi + 0x144], 0
mov rax, qword [rdi + 0x198]
mov rdx, rax
sub rdx, r14
jb 0x1800d5dac
test r14, r14
je 0x1800d5d67
mov rcx, qword [rdi + 0x190]
mov rbx, rcx
sub rbx, rdx
jb 0x1800d5dac
mov qword [rdi + 0x190], 0
cmp rax, r14
jne 0x1800d5d49
test rcx, rcx
jne 0x1800d5d60
jmp 0x1800d5d67
cmp dword [rsp + 0x3c], 4
mov eax, 1
cmove eax, dword [rsp + 0x38]
mov qword [rdi + 0x1f8], rax
jmp 0x1800d5d79
mov byte [rsi + 1], 1
jmp 0x1800d5d7d
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov al, 1
jmp 0x1800d5d7f
cmp rcx, rdx
je 0x1800d5d31
mov rcx, qword [rdi + 0x180]
add rdx, rcx
mov r8, rbx
call fcn.180170ea0
mov qword [rdi + 0x190], rbx
xor eax, eax
test r15d, r15d
sete al
mov qword [rdi + 0x198], r15
mov qword [rdi + 0x1f8], rax
jmp 0x1800d5d79
cmp rcx, rdx
je 0x1800d5d67
mov rcx, qword [rdi + 0x180]
add rdx, rcx
mov r8, rbx
call fcn.180170ea0
mov qword [rdi + 0x190], rbx
mov qword [rdi + 0x198], r14
mov qword [rdi + 0x1f8], 0
mov byte [rsi + 1], 0
xor eax, eax
mov byte [rsi], al
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [rdi + 0x160]
xor edx, edx
mov r8, rbx
call fcn.18017fd30
mov r12, qword [rdi + 0x170]
jmp 0x1800d5bdd
ud2
Function at 0x1800d8970
Capabilities:
Decrypt data via sspi

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
mov rax, qword [rdx + 0x98]
cmp rax, qword [rdx + 0x90]
ja 0x1800d8c11
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x80]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], 1
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movabs rax, 0x400000000
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x70], rax
lea rcx, [rdx + 0xc0]
lea rdx, [rsp + 0x68]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.Secur32.dll_DecryptMessage]
cmp eax, 0x90316
jg 0x1800d8ad4
cmp eax, 0x80090318
je 0x1800d8b50
test eax, eax
jne 0x1800d8b6e
mov rax, qword [rsp + 0x40]
mov r14, qword [rdi + 0x80]
sub rax, r14
mov ebx, dword [rsp + 0x38]
mov rcx, rax
mov qword [rdi + 0x70], 0
add rcx, rbx
jb 0x1800d8c11
cmp rcx, qword [rdi + 0x90]
ja 0x1800d8c11
add r14, rax
xor r15d, r15d
cmp qword [rdi + 0x68], rbx
jb 0x1800d8bfa
xor r12d, r12d
mov rcx, qword [rdi + 0x60]
add rcx, r12
mov rdx, r14
mov r8, rbx
call fcn.180170ea0
add r12, rbx
cmp dword [rsp + 0x5c], 5
mov qword [rdi + 0x70], r12
cmove r15d, dword [rsp + 0x58]
mov qword [rdi + 0x78], 0
mov rax, qword [rdi + 0x98]
mov rdx, rax
sub rdx, r15
jb 0x1800d8c11
test r15, r15
je 0x1800d8b9c
mov rcx, qword [rdi + 0x90]
mov rbx, rcx
sub rbx, rdx
jb 0x1800d8c11
mov qword [rdi + 0x90], 0
cmp rax, r15
jne 0x1800d8b7e
test rcx, rcx
jne 0x1800d8b95
jmp 0x1800d8b9c
cmp eax, 0x90317
je 0x1800d8b68
cmp eax, 0x90321
jne 0x1800d8b6e
xor r14d, r14d
cmp dword [rsp + 0x5c], 5
mov dword [rdi + 0x40], 0x10000
cmove r14d, dword [rsp + 0x58]
mov byte [rdi + 0x44], 0
mov rax, qword [rdi + 0x98]
mov rdx, rax
sub rdx, r14
jb 0x1800d8c11
test r14, r14
je 0x1800d8bd2
mov rcx, qword [rdi + 0x90]
mov rbx, rcx
sub rbx, rdx
jb 0x1800d8c11
mov qword [rdi + 0x90], 0
cmp rax, r14
jne 0x1800d8bb4
test rcx, rcx
jne 0x1800d8bcb
jmp 0x1800d8bd2
cmp dword [rsp + 0x3c], 4
mov eax, 1
cmove eax, dword [rsp + 0x38]
mov qword [rdi + 0xf8], rax
jmp 0x1800d8be4
mov byte [rsi + 1], 1
jmp 0x1800d8be8
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov al, 1
jmp 0x1800d8bea
cmp rcx, rdx
je 0x1800d8b9c
mov rcx, qword [rdi + 0x80]
add rdx, rcx
mov r8, rbx
call fcn.180170ea0
mov qword [rdi + 0x90], rbx
xor eax, eax
test r15d, r15d
sete al
mov qword [rdi + 0x98], r15
mov qword [rdi + 0xf8], rax
jmp 0x1800d8be4
cmp rcx, rdx
je 0x1800d8bd2
mov rcx, qword [rdi + 0x80]
add rdx, rcx
mov r8, rbx
call fcn.180170ea0
mov qword [rdi + 0x90], rbx
mov qword [rdi + 0x98], r14
mov qword [rdi + 0xf8], 0
mov byte [rsi + 1], 0
xor eax, eax
mov byte [rsi], al
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [rdi + 0x60]
xor edx, edx
mov r8, rbx
call fcn.18017fd30
mov r12, qword [rdi + 0x70]
jmp 0x1800d8a57
ud2
Function at 0x1800dd9c0
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
lea rcx, [rdx + 0xc0]
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x28]
mov edx, 0x53
call qword [sym.imp.Secur32.dll_QueryContextAttributesW]
mov rdi, rax
shl rdi, 0x20
or rdi, 2
test eax, eax
jne 0x1800dda02
mov rdi, qword [rsp + 0x28]
je 0x1800dda71
mov eax, edi
and eax, 3
xor r14d, r14d
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1800ddadd
test rax, rax
je 0x1800ddadd
lea rbx, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x1800dda5a
mov r8, qword [rdi - 1]
cmp qword [rax + 0x10], 0x11
jb 0x1800dda4b
mov r8, qword [r8 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180219958]
xor r14d, r14d
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800ddadd
mov r15, qword [rdi + 8]
mov ebx, dword [rdi + 0x10]
test rbx, rbx
je 0x1800ddac0
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dda9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800ddab1
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1800ddac6
mov ecx, 1
mov rdx, rbx
call fcn.18017ea70
ud2
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.180170ea0
mov rcx, rdi
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rbx
mov qword [rsi + 8], r14
mov qword [rsi], 1
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1800eda30
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x2c0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x1800eda40
test al, 1
je 0x1800edae2
test al, 2
jne 0x1800edae2
test al, 8
jne 0x1800eda7b
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x20], 4
lea rdx, [rsp + 0x20]
call fcn.1800ee5a0
jmp 0x1800eda95
test al, 0x10
je 0x1800eda95
mov rax, qword [rsi + 0x2e0]
test rax, rax
je 0x1800edae2
mov rcx, qword [rsi + 0x2e8]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.180118a30
cmp rax, 1
mov eax, 2
sbb rax, 0
mov rcx, rax
shl rcx, 6
neg rcx
lock xadd qword [rsi], rcx
shr rcx, 6
cmp rcx, rax
jb 0x1800edae2
jne 0x1800edad8
mov rcx, rsi
add rsp, 0x2c0
pop rsi
jmp fcn.1800edaf0
nop
add rsp, 0x2c0
pop rsi
ret
ud2

Function at 0x1800ee730
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x2c0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x1800ee740
test al, 1
je 0x1800ee7e2
test al, 2
jne 0x1800ee7e2
test al, 8
jne 0x1800ee77b
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x20], 4
lea rdx, [rsp + 0x20]
call fcn.1800ee5a0
jmp 0x1800ee795
test al, 0x10
je 0x1800ee795
mov rax, qword [rsi + 0x2e0]
test rax, rax
je 0x1800ee7e2
mov rcx, qword [rsi + 0x2e8]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.180117aa0
cmp rax, 1
mov eax, 2
sbb rax, 0
mov rcx, rax
shl rcx, 6
neg rcx
lock xadd qword [rsi], rcx
shr rcx, 6
cmp rcx, rax
jb 0x1800ee7e2
jne 0x1800ee7d8
mov rcx, rsi
add rsp, 0x2c0
pop rsi
jmp fcn.1800ee7f0
nop
add rsp, 0x2c0
pop rsi
ret
ud2
Function at 0x1800f6230
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 0x1800f6297
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1800f62de
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x1800f62d3
xor r9d, r9d
lea r10, [0x1802057e0]
xor r8d, r8d
nop word cs:[rax + rax]
movzx r11d, byte [rax + r9]
or r8d, dword [r10 + r11*4]
inc r9
cmp rdx, r9
jne 0x1800f62c0
jmp 0x1800f62d6
xor r8d, r8d
mov dword [rsp + 0x98], r8d
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x1800f6364
mov rax, r14
shr rax, 0x3c
jne 0x1800f6461
mov rdi, qword [rcx]
lea rbx, [r14*8]
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f6324
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f6452
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f6452
mov rsi, rax
lea r8, [rdi + r14*8]
sub r8, rdi
add r8, 0xfffffffffffffff8
mov rbx, r8
shr rbx, 3
and r8, 0xfffffffffffffff8
add r8, 8
mov rcx, rax
mov rdx, rdi
call fcn.180170ea0
inc ebx
jmp 0x1800f636b
xor ebx, ebx
mov esi, 8
mov dword [rsp + 0x64], ebx
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, [0x1801dd955]
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.Secur32.dll_AcquireCredentialsHandleA]
test eax, eax
je 0x1800f63f6
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov ebx, 1
test r14, r14
je 0x1800f63db
mov rcx, qword [0x180219958]
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]
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f641c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f6465
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f6465
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
xor ebx, ebx
test r14, r14
jne 0x1800f63c9
jmp 0x1800f63db
mov ecx, 8
mov rdx, rbx
call fcn.18017ea70
ud2
ud2
mov ecx, 8
mov edx, 0x20
call fcn.18017ea70
ud2
Function at 0x1800ff830
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x1801de8f8]
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_NtWriteFile]
cmp eax, 0x103
jne 0x1800ff8a3
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x1800ff8da
test eax, eax
js 0x1800ff8b4
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1800ff8cd
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1800fe130
mov rcx, rax
call fcn.1800fe210
mov ecx, 7
int 0x29
ud2
Function at 0x180100d00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
movzx ebp, byte [rdx + 0x38]
xor ebx, ebx
cmp bpl, 1
setne dl
mov eax, 0
sbb eax, eax
mov rsi, rcx
or al, dl
movzx ecx, al
cmp cl, 0xff
je 0x180100d30
test ecx, ecx
jne 0x180100d80
movzx ebx, byte [rdi + 0x3a]
cmp al, 0xff
je 0x180100d3c
test ecx, ecx
jne 0x180100d80
mov rcx, rdi
call fcn.180100bf0
movzx ecx, al
test bpl, bpl
jne 0x180100d87
lea rdx, [rdi + 0x10]
xor eax, eax
cmp byte [rdi + 0x10], 6
cmove rdx, rax
je case.0x180100d73.2
movzx r8d, byte [rdx]
mov eax, 6
lea r9, [0x180100edc]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov rax, qword [rdx + 0x10]
add rax, 4
jmp case.0x180100d73.2
xor ecx, ecx
test bpl, bpl
je 0x180100d4c
xor eax, eax
add rcx, rax
movzx r10d, bl
lea r9, [rcx + r10]
mov rax, qword [rdi + 8]
cmp rax, r9
jb 0x180100ed7
mov r11, qword [rdi]
lea rdx, [r11 + r9]
cmp rax, r9
jne 0x180100dba
movzx r8d, byte [rdi + 0x10]
xor r10d, r10d
jmp 0x180100e39
movzx r8d, byte [rdi + 0x10]
add rcx, r10
sub rcx, rax
inc rcx
lea rdi, [rax + r11]
dec rdi
xor r10d, r10d
cmp r8b, 3
jae 0x180100e00
nop dword [rax + rax]
cmp byte [rdi], 0x5c
je 0x180100e1b
inc rcx
dec rdi
cmp rcx, 1
jne 0x180100de0
jmp 0x180100e39
movzx ebx, byte [rdi]
cmp ebx, 0x2f
je 0x180100e1b
cmp ebx, 0x5c
je 0x180100e1b
inc rcx
dec rdi
cmp rcx, 1
jne 0x180100e00
jmp 0x180100e39
neg rcx
add r9, rcx
inc r9
cmp rax, r9
jb 0x180100ed7
add r11, r9
mov r10d, 1
mov rdx, r11
sub rax, r9
je 0x180100e62
mov cl, 9
cmp rax, 2
je 0x180100e66
cmp rax, 1
jne 0x180100e75
cmp byte [rdx], 0x2e
jne 0x180100e75
xor ecx, ecx
cmp r8b, 3
setae cl
lea ecx, [rcx + rcx*2]
add ecx, 7
jmp 0x180100e75
mov cl, 0xa
jmp 0x180100e75
cmp byte [rdx], 0x2e
jne 0x180100e75
cmp byte [rdx + 1], 0x2e
sete cl
xor cl, 9
add r10, rax
mov qword [rsi], r10
mov byte [rsi + 8], cl
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rax, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rax, r8
add rax, 8
jmp case.0x180100d73.2
mov rax, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rax, r8
add rax, 2
jmp case.0x180100d73.2
mov eax, 2
jmp case.0x180100d73.2
ud2
Function at 0x180102750
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x1801de8f8]
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 0x1801027bc
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x1801027cb
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x180102803
cmp eax, 0x103
je 0x18010280d
test eax, eax
js 0x1801027e8
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x180102803
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
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1800fe130
mov rcx, rax
call fcn.1800fe210
mov ecx, 7
int 0x29
ud2
Function at 0x180103bf0
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1e8
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x180219960]
cmp rax, 3
jne 0x180103daa
cmp rbx, 0x17f
ja 0x180103dbc
lea rcx, [rsp + 0x68]
mov rdx, r14
mov r8, rbx
call fcn.180170ea0
mov byte [rsp + rbx + 0x68], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x180103c68
xor edx, edx
nop dword [rax]
cmp byte [rsp + rdx + 0x68], 0
je 0x180103d14
inc rdx
cmp rax, rdx
jne 0x180103c50
jmp 0x180103d73
xor ecx, ecx
mov dl, 1
test dl, dl
jne 0x180103c9c
jne 0x180103c9c
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rsp + rdx + 0x68], 0
je 0x180103d14
inc rdx
jne 0x180103c80
xor edx, edx
test dl, dl
jne 0x180103d0a
lea rdx, [rbx - 0xf]
jmp 0x180103ca2
lea rdx, [rbx - 0xf]
xor ecx, ecx
movabs r8, 0xfefefefefefefeff
movabs r9, 0x8080808080808080
nop word cs:[rax + rax]
mov r10, qword [rsp + rcx + 0x68]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x180103d0a
mov r10, qword [rsp + rcx + 0x70]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x180103d0a
add rcx, 0x10
cmp rcx, rdx
jbe 0x180103cc0
jmp 0x180103d0a
cmp byte [rsp + rcx + 0x68], 0
je 0x180103d11
inc rcx
cmp rax, rcx
jne 0x180103d00
jmp 0x180103d73
mov rdx, rcx
cmp rdx, rbx
jne 0x180103d73
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 + 0x68]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x180103d92
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
jmp 0x180103d85
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
jmp 0x180103d85
call fcn.180185090
cmp rbx, 0x17f
jbe 0x180103c28
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9d, edi
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.1801850f0
Function at 0x180104340
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rbx, r8
mov r14, rdx
mov rdi, rcx
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x180104377
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010442c
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010442c
mov rsi, rax
mov qword [rax], r14
mov qword [rax + 8], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x180104440]
xor ebx, ebx
xor ecx, ecx
mov rdx, rdi
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x18010441f
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
call qword [rax]
mov rax, qword [rsi + 8]
cmp qword [rax + 8], 0
je 0x1801043f9
mov r8, qword [rsi]
cmp qword [rax + 0x10], 0x11
jb 0x1801043ea
mov r8, qword [r8 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
call fcn.18016fe79
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov ebx, 1
mov rax, rbx
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 8
mov edx, 0x10
call fcn.18017ea70
ud2

Function at 0x1801044c0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
je 0x1801044ef
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.1801011e0
ud2