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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
mov eax, 0xb8
call fcn.14012b0b0
sub rsp, rax
mov rax, qword [0x1403a8088]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r12, qword [rsp + 0x110]
xor ebx, ebx
movsxd rsi, r8d
mov rbp, r9
mov r14, rdx
mov rdi, rcx
mov eax, ebx
test r9, r9
je 0x1401dae26
cmp r9, qword [rcx]
je 0x1401dae1c
test rdx, rdx
je 0x1401db019
test r8d, r8d
js 0x1401db019
mov eax, 1
mov qword [rcx], r9
jmp 0x1401dae32
mov rbp, qword [rcx]
test rbp, rbp
je 0x1401db019
mov qword [rsp + 0xb0], r15
test r14, r14
je 0x1401daf15
mov rcx, rbp
call fcn.1401cc190
mov r15d, eax
cmp eax, 0x80
jle 0x1401dae6d
lea r8, str.j____int_sizeof_ctx__key_
mov edx, reloc.WS2_32.dll_WSACleanup
lea rcx, str..cryptohmachmac.c
call fcn.1401c3cb0
cmp r15d, esi
jge 0x1401daec4
mov r8, r12
lea rcx, [rdi + 8]
mov rdx, rbp
call fcn.1401b21b0
test eax, eax
je 0x1401db008
mov r8, rsi
lea rcx, [rdi + 8]
mov rdx, r14
call fcn.1401b2410
test eax, eax
je 0x1401db008
lea r14, [rdi + 0x98]
mov r8, r14
lea rdx, [rdi + 0x9c]
lea rcx, [rdi + 8]
call fcn.1401b20d0
test eax, eax
je 0x1401db008
jmp 0x1401daeec
cmp esi, 0x80
ja 0x1401db008
mov r8, rsi
lea rcx, [rdi + 0x9c]
mov rdx, r14
call fcn.140278ed0
lea r14, [rdi + 0x98]
mov dword [r14], esi
mov ecx, dword [r14]
cmp ecx, 0x80
je 0x1401daf1d
mov eax, ecx
mov r8d, Ordinal_133
sub r8d, ecx
xor edx, edx
lea rcx, [rdi + 0x9c]
add rcx, rax
call fcn.14027b2c0
jmp 0x1401daf1d
test eax, eax
je 0x1401daff7
lea rcx, [rsp + 0x20]
mov rax, rdi
sub rax, rcx
mov rdx, rbx
lea rsi, [rax + 0x9c]
lea r14, [rax + 0x9d]
nop dword [rax]
lea rcx, [rsp + 0x20]
add rcx, rdx
add rdx, 2
movzx eax, byte [rsi + rcx]
xor al, 0x36
mov byte [rcx], al
movzx eax, byte [r14 + rcx]
xor al, 0x36
mov byte [rcx + 1], al
cmp rdx, 0x80
jl 0x1401daf40
mov r8, r12
lea rcx, [rdi + 0x38]
mov rdx, rbp
call fcn.1401b21b0
test eax, eax
je 0x1401db008
mov rcx, rbp
call fcn.1401cc190
movsxd r8, eax
lea rdx, [rsp + 0x20]
lea rcx, [rdi + 0x38]
call fcn.1401b2410
test eax, eax
je 0x1401db008
nop dword [rax + rax]
lea rcx, [rsp + 0x20]
add rcx, rbx
add rbx, 2
movzx eax, byte [rsi + rcx]
xor al, 0x5c
mov byte [rcx], al
movzx eax, byte [r14 + rcx]
xor al, 0x5c
mov byte [rcx + 1], al
cmp rbx, 0x80
jl 0x1401dafa0
mov r8, r12
lea rcx, [rdi + 0x68]
mov rdx, rbp
call fcn.1401b21b0
test eax, eax
je 0x1401db008
mov rcx, rbp
call fcn.1401cc190
movsxd r8, eax
lea rdx, [rsp + 0x20]
lea rcx, [rdi + 0x68]
call fcn.1401b2410
test eax, eax
je 0x1401db008
lea rdx, [rdi + 0x38]
lea rcx, [rdi + 8]
call fcn.1401b2520
test eax, eax
jne 0x1401db00c
xor eax, eax
jmp 0x1401db011
mov eax, 1
mov r15, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14012a2b0
add rsp, 0xb8
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1402090f0
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov eax, gethostbyname
call fcn.14012b0b0
sub rsp, rax
mov r15, r8
mov r12, rdx
mov rdi, rcx
lea rdx, [0x1403d85b0]
mov r8d, 0x5a6
lea ecx, [rax - 0x10]
mov r14d, r9d
call fcn.1401aa220
mov rbx, rax
test rax, rax
jne 0x140209183
mov eax, dword [0x14045bdcc]
test eax, eax
jne 0x140209150
call fcn.1401bb0c0
mov dword [0x14045bdcc], eax
mov edx, 0x67
mov dword [rsp + 0x20], 0x5a8
lea r9, [0x1403d85c8]
mov ecx, eax
lea r8d, [rdx - 0x26]
call fcn.1401bb520
call fcn.140208210
mov rcx, rbx
call fcn.1401aa120
xor eax, eax
jmp 0x1402092c6
test rdi, rdi
je 0x1402091e8
cmp dword [rdi], 2
jl 0x1402091e8
cmp qword [rdi + 8], 0
je 0x1402091e8
mov rcx, r12
mov qword [rsp + 0x50], rbp
call fcn.14020a6b0
mov rcx, r15
mov rsi, rax
call fcn.14020a6b0
mov r9, rax
mov dword [rsp + 0x20], r14d
mov r8, rsi
lea rdx, str.capi_get_key__contname_s__provname_s__type_d_n
mov rcx, rdi
mov rbp, rax
call fcn.140207f70
test rbp, rbp
je 0x1402091d6
mov rcx, rbp
call fcn.1401aa120
mov rbp, qword [rsp + 0x50]
test rsi, rsi
je 0x1402091e8
mov rcx, rsi
call fcn.1401aa120
mov eax, dword [rdi + 0x38]
lea rcx, [rbx + 8]
shr eax, 0xc
mov r9d, r14d
and eax, 0x20
mov r8, r15
mov rdx, r12
mov dword [rsp + 0x20], eax
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140209250
mov eax, dword [0x14045bdcc]
test eax, eax
jne 0x140209221
call fcn.1401bb0c0
mov dword [0x14045bdcc], eax
mov edx, 0x67
mov dword [rsp + 0x20], 0x5be
mov r8d, edx
lea r9, [0x1403d8650]
mov ecx, eax
call fcn.1401bb520
call fcn.140208210
mov rcx, rbx
call fcn.1401aa120
xor eax, eax
jmp 0x1402092c6
mov edi, dword [rsp + 0x70]
lea r8, [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov edx, edi
call qword [sym.imp.ADVAPI32.dll_CryptGetUserKey]
test eax, eax
jne 0x1402092b9
mov eax, dword [0x14045bdcc]
test eax, eax
jne 0x14020927d
call fcn.1401bb0c0
mov dword [0x14045bdcc], eax
mov edx, 0x67
mov dword [rsp + 0x20], 0x5c3
lea r9, [0x1403d8668]
mov ecx, eax
lea r8d, [rdx + 0xa]
call fcn.1401bb520
call fcn.140208210
mov rcx, qword [rbx + 8]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, rbx
call fcn.1401aa120
xor eax, eax
jmp 0x1402092c6
mov dword [rbx + 0x18], edi
mov rax, rbx
mov qword [rbx], 0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x14020e3d0
Capabilities:
Encode data using base64

Disassembly:
xor r10d, r10d
test r8d, r8d
jle 0x14020e4c3
lea r9, [rdx + 1]
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp r8d, 3
jl 0x14020e44b
movzx eax, byte [r9]
movzx edx, byte [r9 - 1]
shl rdx, 8
or rdx, rax
movzx eax, byte [r9 + 1]
shl rdx, 8
or rdx, rax
mov rax, rdx
shr rax, 0x12
movzx eax, byte [rax + r11]
mov byte [rcx], al
mov rax, rdx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rax + r11]
mov byte [rcx + 1], al
mov rax, rdx
shr rax, 6
and eax, 0x3f
movzx eax, byte [rax + r11]
mov byte [rcx + 2], al
add rcx, 3
and edx, 0x3f
movzx eax, byte [rdx + r11]
mov byte [rcx], al
jmp 0x14020e4a4
movzx edx, byte [r9 - 1]
shl edx, 0x10
cmp r8d, 2
jne 0x14020e462
movzx eax, byte [r9]
shl eax, 8
or edx, eax
mov rax, rdx
shr rax, 0x12
movzx eax, byte [rax + r11]
mov byte [rcx], al
mov rax, rdx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rax + r11]
mov byte [rcx + 1], al
cmp r8d, 1
jne 0x14020e48e
lea eax, [r8 + 0x3c]
jmp 0x14020e49a
shr rdx, 6
and edx, 0x3f
movzx eax, byte [rdx + r11]
mov byte [rcx + 2], al
add rcx, 3
mov byte [rcx], 0x3d
add r10d, 4
add r9, 3
sub r8d, 3
inc rcx
test r8d, r8d
jg 0x14020e3e7
mov byte [rcx], 0
mov eax, r10d
ret
mov byte [rcx], r10b
mov eax, r10d
ret

Function at 0x14020e6d0
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, gethostbyname
call fcn.14012b0b0
sub rsp, rax
mov rsi, rdx
lea ebp, [rax - 0x2f]
mov rbx, rcx
call fcn.14020ec20
mov edi, eax
test eax, eax
jns 0x14020e724
lea r9, [0x1403d9408]
mov dword [rsp + 0x20], Ordinal_127
lea edx, [rbp + 0x69]
lea ecx, [rbp + 0x1f]
lea r8d, [rbp + 0x6b]
call fcn.1401bb520
jmp 0x14020e805
call fcn.14020eb10
cmp eax, ebp
jne 0x14020e819
test edi, edi
jle 0x14020e73c
mov eax, ebp
jmp 0x14020e822
mov r9d, reloc.WLDAP32.dll_Ordinal_142
lea r8, [0x1403d9420]
lea edx, [r9 - 0x78]
lea ecx, [rdx - 0xd]
call fcn.1401c35c0
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov rdx, rax
test rax, rax
jne 0x14020e786
lea r9, [0x1403d9438]
mov dword [rsp + 0x20], __WSAFDIsSet
lea edx, [rax + 0x6a]
lea ecx, [rax + 0x20]
lea r8d, [rax + 0x66]
call fcn.1401bb520
jmp 0x14020e7e7
cmp word [rax + 0x10], 2
je 0x14020e7af
mov edx, 0x6a
mov dword [rsp + 0x20], 0x99
lea r9, [0x1403d9450]
lea ecx, [rdx - 0x4a]
lea r8d, [rdx + 1]
call fcn.1401bb520
jmp 0x14020e7e7
mov rax, qword [rax + 0x18]
xor ebp, ebp
mov rcx, qword [rax]
movzx eax, byte [rcx]
mov byte [rsi], al
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax]
movzx eax, byte [rcx + 1]
mov byte [rsi + 1], al
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax]
movzx eax, byte [rcx + 2]
mov byte [rsi + 2], al
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax]
movzx eax, byte [rcx + 3]
mov byte [rsi + 3], al
mov edx, reloc.WS2_32.dll_shutdown
lea r8, [0x1403d9468]
mov r9d, Ordinal_167
lea ecx, [rdx - 0xc]
call fcn.1401c35c0
test ebp, ebp
je 0x14020e81d
mov r8, rbx
lea rdx, str.host
mov ecx, 2
call fcn.1401ba990
xor eax, eax
jmp 0x14020e822
mov eax, 1
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14021acd0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
push rbx
push rbp
push r12
push r13
push r14
push r15
push rdx
call fcn.140003340
mov r8, qword [rsp]
cmp eax, 0
jne 0x1400037dd
mov r14d, dword [r8 + 0xf0]
xor rdi, rdi
lea rcx, [rdi + r14*4]
mov rsi, r8
lea rdi, [r8 + rcx*4]
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
mov qword [rdi], rax
mov qword [rdi + 8], rbx
mov qword [rsi], rcx
mov qword [rsi + 8], rdx
lea rsi, [rsi + 0x10]
lea rdi, [rdi - 0x10]
cmp rdi, rsi
jne 0x140003618
lea rax, [0x140004a00]
mov rsi, qword [rax + 0x28]
mov rdi, qword [rax + 0x30]
mov rbp, qword [rax + 0x38]
mov r15, r8
sub r14d, 1
nop
lea r15, [r15 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov r9, rsi
mov r12, rsi
and r9, rax
and r12, rcx
mov rbx, r9
mov rdx, r12
shr r9, 7
lea r8, [rax + rax]
shr r12, 7
lea r11, [rcx + rcx]
sub rbx, r9
sub rdx, r12
and r8, rdi
and r11, rdi
and rbx, rbp
and rdx, rbp
xor r8, rbx
xor r11, rdx
mov r10, rsi
mov r13, rsi
and r10, r8
and r13, r11
mov rbx, r10
mov rdx, r13
shr r10, 7
lea r9, [r8 + r8]
shr r13, 7
lea r12, [r11 + r11]
sub rbx, r10
sub rdx, r13
and r9, rdi
and r12, rdi
and rbx, rbp
and rdx, rbp
xor r9, rbx
xor r12, rdx
mov r10, rsi
mov r13, rsi
and r10, r9
and r13, r12
mov rbx, r10
mov rdx, r13
shr r10, 7
xor r8, rax
shr r13, 7
xor r11, rcx
sub rbx, r10
sub rdx, r13
lea r10, [r9 + r9]
lea r13, [r12 + r12]
xor r9, rax
xor r12, rcx
and r10, rdi
and r13, rdi
and rbx, rbp
and rdx, rbp
xor r10, rbx
xor r13, rdx
xor rax, r10
xor rcx, r13
xor r8, r10
xor r11, r13
mov rbx, rax
mov rdx, rcx
xor r9, r10
shr rbx, 0x20
xor r12, r13
shr rdx, 0x20
xor r10, r8
rol eax, 8
xor r13, r11
rol ecx, 8
xor r10, r9
rol ebx, 8
xor r13, r12
rol edx, 8
xor eax, r10d
shr r10, 0x20
xor ecx, r13d
shr r13, 0x20
xor ebx, r10d
xor edx, r13d
mov r10, r8
rol r8d, 0x18
mov r13, r11
rol r11d, 0x18
shr r10, 0x20
xor eax, r8d
shr r13, 0x20
xor ecx, r11d
rol r10d, 0x18
mov r8, r9
rol r13d, 0x18
mov r11, r12
shr r8, 0x20
xor ebx, r10d
shr r11, 0x20
xor edx, r13d
rol r9d, 0x10
rol r12d, 0x10
rol r8d, 0x10
xor eax, r9d
rol r11d, 0x10
xor ecx, r12d
xor ebx, r8d
xor edx, r11d
mov dword [r15], eax
mov dword [r15 + 4], ebx
mov dword [r15 + 8], ecx
mov dword [r15 + 0xc], edx
sub r14d, 1
jne 0x14000365c
xor rax, rax
mov r15, qword [rsp + 8]
mov r14, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
add rsp, 0x38
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
mov eax, Ordinal_41
call fcn.14012b0b0
sub rsp, rax
add rsp, 0x28
jmp 0x1400035d0
Function at 0x14021c060
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov eax, 0x50
call fcn.14012b0b0
sub rsp, rax
mov rax, qword [rcx + 0x180]
mov rsi, rcx
mov rdi, qword [rcx + 0x160]
mov r14, r9
mov qword [rsp + 0x30], rax
mov rbp, r8
mov rax, qword [rcx + 0x168]
mov r15, rdx
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
add rcx, r9
movabs rax, 0xfffffffe0
cmp rcx, rax
ja 0x14021c29e
cmp rcx, r9
jb 0x14021c29e
cmp dword [rsi + 0x174], 0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x48], r12
mov qword [rsi + 0x38], rcx
je 0x14021c0f1
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call rdi
mov dword [rsi + 0x174], 0
mov ebx, dword [rsi + 0x170]
mov r12d, dword [rsi + 0xc]
mov dword [rsp + 0x80], ebx
bswap r12d
test ebx, ebx
je 0x14021c154
nop dword [rax]
test r14, r14
je 0x14021c142
movzx edx, byte [r15]
dec r14
mov ecx, ebx
inc r15
movzx eax, byte [rcx + rsi + 0x10]
xor al, dl
mov byte [rbp], al
inc rbp
xor byte [rcx + rsi + 0x40], dl
inc ebx
and ebx, 0xf
mov dword [rsp + 0x80], ebx
jne 0x14021c110
jmp 0x14021c14a
test ebx, ebx
jne 0x14021c27d
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call rdi
mov qword [rsp + 0x40], r13
mov r13, qword [rsp + 0xa0]
cmp r14, 0xc00
jb 0x14021c1e8
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add r14, rax
nop dword [rax + rax]
mov r9d, 0xc00
lea rdx, [rsi + 0x60]
mov r8, r15
lea rcx, [rsi + 0x40]
call qword [rsp + gethostname]
mov r9, qword [rsp + 0x30]
mov r8d, 0xc0
mov rdx, rbp
mov qword [rsp + 0x20], rsi
mov rcx, r15
call r13
add r12d, 0xc0
add rbp, 0xc00
mov eax, r12d
add r15, 0xc00
bswap eax
mov dword [rsi + 0xc], eax
sub rdi, 1
jne 0x14021c190
mov ebx, dword [rsp + 0x80]
mov r13, r14
and r13, 0xfffffffffffffff0
je 0x14021c238
mov rdi, r13
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
shr rdi, 4
mov r9, r13
mov r8, r15
call qword [rsp + gethostname]
mov r9, qword [rsp + 0x30]
mov r8, rdi
mov rdx, rbp
mov qword [rsp + 0x20], rsi
mov rcx, r15
call qword [rsp + 0xa0]
add r12d, edi
add rbp, r13
mov eax, r12d
add r15, r13
bswap eax
mov dword [rsi + 0xc], eax
sub r14, r13
mov r13, qword [rsp + 0x40]
test r14, r14
je 0x14021c27d
mov r8, qword [rsp + 0x30]
lea rdx, [rsi + 0x10]
mov rcx, rsi
call qword [rsi + 0x178]
inc r12d
bswap r12d
mov dword [rsi + 0xc], r12d
nop
mov edx, ebx
inc ebx
movzx ecx, byte [rdx + r15]
movzx eax, byte [rsi + rdx + 0x10]
xor byte [rdx + rsi + 0x40], cl
xor al, cl
mov byte [rdx + rbp], al
sub r14, 1
jne 0x14021c260
mov r12, qword [rsp + 0x48]
xor eax, eax
mov dword [rsi + 0x170], ebx
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
or eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x14021c580
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov eax, 0x50
call fcn.14012b0b0
sub rsp, rax
mov rax, qword [rcx + 0x180]
mov rsi, rcx
mov rdi, qword [rcx + 0x160]
mov r14, r9
mov qword [rsp + 0x30], rax
mov r15, r8
mov rax, qword [rcx + 0x168]
mov rbp, rdx
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
add rcx, r9
movabs rax, 0xfffffffe0
cmp rcx, rax
ja 0x14021c7de
cmp rcx, r9
jb 0x14021c7de
cmp dword [rsi + 0x174], 0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x48], r12
mov qword [rsi + 0x38], rcx
je 0x14021c611
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call rdi
mov dword [rsi + 0x174], 0
mov ebx, dword [rsi + 0x170]
mov r12d, dword [rsi + 0xc]
mov dword [rsp + 0x80], ebx
bswap r12d
test ebx, ebx
je 0x14021c671
nop dword [rax]
test r14, r14
je 0x14021c65f
mov ecx, ebx
dec r14
movzx eax, byte [rcx + rsi + 0x10]
xor al, byte [rbp]
inc rbp
mov byte [r15], al
inc r15
xor byte [rcx + rsi + 0x40], al
inc ebx
and ebx, 0xf
mov dword [rsp + 0x80], ebx
jne 0x14021c630
jmp 0x14021c667
test ebx, ebx
jne 0x14021c7bd
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call rdi
mov r10, qword [rsp + 0xa0]
mov qword [rsp + 0x40], r13
cmp r14, 0xc00
jb 0x14021c726
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add r14, rax
mov qword [rsp + 0x98], r14
mov r14, qword [rsp + 0x30]
nop word [rax + rax]
mov r9, r14
mov qword [rsp + 0x20], rsi
mov r8d, 0xc0
mov rdx, r15
mov rcx, rbp
call r10
add r12d, 0xc0
lea rdx, [rsi + 0x60]
mov eax, r12d
lea rcx, [rsi + 0x40]
bswap eax
mov r9d, 0xc00
mov dword [rsi + 0xc], eax
mov r8, r15
call qword [rsp + gethostname]
mov r10, qword [rsp + 0xa0]
add r15, 0xc00
add rbp, 0xc00
sub rdi, 1
jne 0x14021c6c0
mov ebx, dword [rsp + 0x80]
mov r14, qword [rsp + 0x98]
mov r13, r14
and r13, 0xfffffffffffffff0
je 0x14021c772
mov r9, qword [rsp + 0x30]
mov rdi, r13
shr rdi, 4
mov rdx, r15
mov r8, rdi
mov qword [rsp + 0x20], rsi
mov rcx, rbp
call r10
add r12d, edi
lea rdx, [rsi + 0x60]
mov eax, r12d
lea rcx, [rsi + 0x40]
bswap eax
mov r9, r13
mov dword [rsi + 0xc], eax
mov r8, r15
add rbp, r13
sub r14, r13
call qword [rsp + gethostname]
add r15, r13
mov r13, qword [rsp + 0x40]
test r14, r14
je 0x14021c7bd
mov r8, qword [rsp + 0x30]
lea rdx, [rsi + 0x10]
mov rcx, rsi
call qword [rsi + 0x178]
inc r12d
bswap r12d
mov dword [rsi + 0xc], r12d
nop dword [rax + rax]
mov ecx, ebx
inc ebx
movzx edx, byte [rcx + rbp]
movzx eax, byte [rsi + rcx + 0x10]
xor edx, eax
mov byte [rcx + r15], dl
xor byte [rcx + rsi + 0x40], dl
sub r14, 1
jne 0x14021c7a0
mov r12, qword [rsp + 0x48]
xor eax, eax
mov dword [rsi + 0x170], ebx
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
or eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x14021c9e0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
mov eax, 0x20
call fcn.14012b0b0
sub rsp, rax
mov r13, qword [rcx + 0x160]
xor r14d, r14d
mov qword [rcx], r14
mov rsi, r8
mov qword [rcx + 8], r14
mov rdi, rdx
mov qword [rcx + 0x40], r14
mov rbx, rcx
mov qword [rcx + 0x48], r14
mov qword [rcx + 0x30], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x170], r14
cmp r8, 0xc
jne 0x14021ca47
movsd xmm0, qword [rdx]
lea edi, [r8 - 0xb]
movsd qword [rcx], xmm0
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov byte [rcx + 0xf], 1
jmp 0x14021cbb9
mov qword [rsp + 0x58], rbp
mov rbp, rsi
mov qword [rsp + 0x50], rsi
cmp rsi, 0x10
jb 0x14021caf3
mov qword [rsp + 0x60], r12
mov r12, rbx
shr rbp, 4
neg r12
imul rax, rbp, 0xfffffffffffffff0
mov qword [rsp + 0x68], r15
lea r15, [rcx + 0xf]
add rsi, rax
nop dword [rax]
lea r8, [r12 + rdi]
lea rax, [r8 + r15]
cmp rbx, rax
ja 0x14021cac0
cmp r15, rdi
jb 0x14021cac0
mov rax, rbx
mov edx, reloc.WS2_32.dll_recv
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14021caa0
jmp 0x14021cad0
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
add rdi, 0x10
sub rbp, 1
jne 0x14021ca80
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
test rsi, rsi
je 0x14021cb9a
cmp rsi, 0x20
jb 0x14021cb63
lea rcx, [rbx - 1]
lea rax, [rdi - 1]
add rcx, rsi
add rax, rsi
cmp rbx, rax
ja 0x14021cb1a
cmp rcx, rdi
jae 0x14021cb63
mov rdx, rsi
mov rcx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rbx
sub rcx, rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
add r14, 0x20
movdqu xmm1, xmmword [rax + rcx]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm0, xmmword [rax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x10], xmm1
cmp r14, rdx
jb 0x14021cb30
cmp r14, rsi
jae 0x14021cb90
sub rdi, rbx
lea rcx, [r14 + rbx]
sub rsi, r14
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x14021cb80
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
shl rbp, 3
lea rdx, [rbx + 0x60]
bswap rbp
xor qword [rbx + 8], rbp
mov rcx, rbx
call r13
mov edi, dword [rbx + 0xc]
mov rbp, qword [rsp + 0x58]
bswap edi
mov r8, qword [rbx + 0x180]
lea rdx, [rbx + 0x20]
mov rcx, rbx
call qword [rbx + 0x178]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
add rsp, 0x20
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret

Function at 0x140220a30
Capabilities:
Encode data using xor

Disassembly:
mov eax, gethostname
call fcn.14012b0b0
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x140220a59
lea rax, [0x14021f000]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.14021afe0
lea rax, [0x14021e160]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.14021ad10
Function at 0x140232520
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, gethostname
call fcn.14012b0b0
sub rsp, rax
mov r11, rcx
cmp dword [rsp + 0x60], r9d
jne 0x14023260f
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x14023260f
mov qword [rsp + 0x30], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x1402325be
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x14023257a
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x14023257a
cmp cl, 0xbb
jne 0x1402325ad
inc eax
cmp eax, ebx
jl 0x140232564
sub ebx, eax
test eax, eax
jne 0x1402325c2
mov dword [rsp + 0x20], Ordinal_133
lea r9, [0x1403eefc8]
mov edx, 0x80
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xa]
call fcn.1401bb520
mov rbx, qword [rsp + 0x30]
or eax, 0xffffffff
add rsp, 0x38
ret
mov dword [rsp + 0x20], Ordinal_127
lea r9, [0x1403eefb0]
jmp 0x14023258f
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x1402325f8
mov edx, 0x80
mov dword [rsp + 0x20], Ordinal_142
lea r9, str..crypto_rsa_rsa_x931.c
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 0xb]
call fcn.1401bb520
mov rbx, qword [rsp + 0x30]
or eax, 0xffffffff
add rsp, 0x38
ret
mov r8d, ebx
mov rcx, r11
call fcn.140278ed0
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x38
ret
mov edx, 0x80
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
lea r9, [0x1403eef98]
lea ecx, [rdx - 0x7c]
lea r8d, [rdx + 9]
call fcn.1401bb520
or eax, 0xffffffff
add rsp, 0x38
ret
Function at 0x1402394d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, Ordinal_41
call fcn.14012b0b0
sub rsp, rax
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x140239518
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1402394fd
mov dword [reloc.WS2_32.dll_accept], eax
jmp 0x140239518
xorps xmm2, xmm2
lea rcx, [rsp + 0x38]
mov edx, 8
call fcn.1401b7ca0
cmp dword [reloc.WS2_32.dll_accept], 0
jne 0x140239534
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm2, xmm2
lea rcx, [rsp + 0x30]
mov edx, 4
mov dword [rsp + 0x30], eax
call fcn.1401b7ca0
add rsp, 0x28
ret
Function at 0x14024cfd0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x20
call fcn.14012b0b0
sub rsp, rax
mov r9d, dword [rdx + 8]
mov rsi, rdx
cmp r9d, dword [r8 + 8]
mov rdi, r8
mov rbx, rcx
cmovge rdi, rdx
cmovge rsi, r8
mov edx, dword [rdi + 8]
cmp edx, dword [rcx + 0xc]
jg 0x14024d00e
mov rax, rcx
jmp 0x14024d013
call fcn.1401ae030
test rax, rax
jne 0x14024d028
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
cmp dword [rsi + 8], eax
jle 0x14024d055
xor r9d, r9d
mov rcx, qword [rsi]
lea r9, [r9 + 8]
mov rdx, qword [rdi]
inc eax
mov r8, qword [r9 + rdx - 8]
xor r8, qword [r9 + rcx - 8]
mov rcx, qword [rbx]
mov qword [r9 + rcx - 8], r8
cmp eax, dword [rsi + 8]
jl 0x14024d032
cmp eax, dword [rdi + 8]
jge 0x14024d08b
movsxd rcx, eax
lea r8, [rcx*8]
nop word [rax + rax]
mov rcx, qword [rdi]
lea r8, [r8 + 8]
mov rdx, qword [rbx]
inc eax
mov rcx, qword [r8 + rcx - 8]
mov qword [r8 + rdx - 8], rcx
cmp eax, dword [rdi + 8]
jl 0x14024d070
mov edx, dword [rdi + 8]
mov dword [rbx + 8], edx
test edx, edx
jle 0x14024d0b7
lea eax, [rdx - 1]
movsxd rcx, eax
mov rax, qword [rbx]
lea r8, [rax + rcx*8]
mov rax, qword [r8]
lea r8, [r8 - 8]
test rax, rax
jne 0x14024d0b4
dec edx
test edx, edx
jg 0x14024d0a2
mov dword [rbx + 8], edx
cmp dword [rbx + 8], 0
jne 0x14024d0c4
mov dword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x30]
mov eax, 1
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret