joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140118400
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r9
mov rbx, r8
mov r15, rdx
mov r12, rcx
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], 1
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
xor sil, sil
test eax, eax
jne 0x14011859d
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x140118613
call fcn.14008eda0
mov rdi, rax
test rax, rax
je 0x140118617
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r12d, eax
test eax, eax
jne 0x14011851d
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
cmp eax, 4
jne 0x1401184e0
cmp r8d, eax
jne 0x140118502
mov edx, dword [rdi]
mov rcx, rbx
call fcn.1400aec00
mov sil, 1
mov rcx, rdi
call fcn.1402573e4
jmp 0x140118613
dec eax
cmp eax, 1
ja 0x140118502
mov rdx, rdi
mov rcx, rbx
call fcn.1400aed10
mov sil, 1
mov rcx, rdi
call fcn.1402573e4
jmp 0x140118613
mov rdx, rdi
mov rcx, rbx
call fcn.1400af350
mov sil, 1
mov rcx, rdi
call fcn.1402573e4
jmp 0x140118613
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
lea rcx, [rbp - 0x79]
call fcn.1400ae5e0
nop
mov edx, r12d
lea rcx, [rbp - 0x79]
call fcn.1400afde0
mov rbx, qword [r14]
lea rcx, [rbp - 0x79]
call fcn.1400b45b0
mov r8, rax
lea rdx, str.RegistryQueryError2
mov rcx, r14
call qword [rbx + 0x58]
mov rax, qword [r14]
mov r8, r15
lea rdx, str.ValueName
mov rcx, r14
call qword [rax + 0x58]
nop
lea rcx, [rbp - 0x79]
call fcn.1400ae630
mov rcx, rdi
call fcn.1402573e4
jmp 0x140118613
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
lea rcx, [rbp - 0x79]
call fcn.1400ae5e0
nop
mov edx, edi
lea rcx, [rbp - 0x79]
call fcn.1400afde0
mov rbx, qword [r14]
lea rcx, [rbp - 0x79]
call fcn.1400b45b0
mov r8, rax
lea rdx, str.RegistryQueryError
mov rcx, r14
call qword [rbx + 0x58]
mov r9, qword [r14]
mov r8, r15
lea rdx, str.ValueName
mov rcx, r14
call qword [r9 + 0x58]
nop
lea rcx, [rbp - 0x79]
call fcn.1400ae630
movzx eax, sil
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1402577a0
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x14013dd00
Capabilities:
Hash data using djb2

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xc0
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rbx, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [r11 - 0x48], xmm0
movups xmmword [r11 - 0x38], xmm0
movups xmmword [r11 - 0x28], xmm0
lea rcx, [rsp + 0x20]
call fcn.1400ae4d0
nop
cmp dword [rbx + 0x10], 0x6119a407
je 0x14013dd72
xor ecx, ecx
call fcn.140086740
xor bl, bl
jmp 0x14013ddf9
lea rcx, [rsp + 0x20]
call fcn.1400b45b0
mov rcx, rax
mov eax, 0x1505
movsx edx, byte [rcx]
test edx, edx
je 0x14013dda0
nop dword [rax + rax]
lea rcx, [rcx + 1]
imul eax, eax, 0x21
add eax, edx
movsx edx, byte [rcx]
test edx, edx
jne 0x14013dd90
xor edx, edx
div dword [rbx + 0x14]
cmp edx, dword [rbx + 0x14]
jae 0x14013ddf1
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14013ddf1
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14013ddf1
call fcn.1401f6c10
mov rbx, rax
test rax, rax
je 0x14013ddf1
nop dword [rax]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1401f6ca0
test al, al
jne 0x14013ddf3
mov rcx, rbx
call fcn.1401f6c70
mov rbx, rax
test rax, rax
jne 0x14013ddd0
xor ebx, ebx
test rbx, rbx
setne bl
lea rcx, [rsp + 0x20]
call fcn.1400ae630
movzx eax, bl
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1402577a0
add rsp, 0xc0
pop rbx
ret
Function at 0x14013de20
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xc0
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rbx, rdx
mov rdi, rcx
cmp dword [rcx + 0x10], 0x6119a407
je 0x14013de5e
xor ecx, ecx
call fcn.140086740
xor al, al
jmp 0x14013ded3
test rbx, rbx
je 0x14013de5a
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
lea rcx, [rsp + 0x20]
call fcn.1400ae5e0
nop
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400aed10
cmp dword [rdi + 0x10], 0x6119a407
je 0x14013def8
xor ecx, ecx
call fcn.140086740
xor bl, bl
lea rcx, [rsp + 0x20]
call fcn.1400ae630
movzx eax, bl
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1402577a0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
cmp qword [rdi + 0x18], 0
je 0x14013dec4
lea rcx, [rsp + 0x20]
call fcn.1400b45b0
mov rcx, rax
mov eax, 0x1505
movsx edx, byte [rcx]
test edx, edx
je 0x14013df30
nop dword [rax + rax]
lea rcx, [rcx + 1]
imul eax, eax, 0x21
add eax, edx
movsx edx, byte [rcx]
test edx, edx
jne 0x14013df20
xor edx, edx
div dword [rdi + 0x14]
cmp edx, dword [rdi + 0x14]
jae 0x14013debd
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14013dec4
lea rsi, [rdx*8]
mov rcx, qword [rsi + rcx]
test rcx, rcx
je 0x14013dec4
call fcn.1401f6c10
mov rbx, rax
test rax, rax
je 0x14013dec4
nop dword [rax]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1401f6ca0
test al, al
jne 0x14013df96
mov rcx, rbx
call fcn.1401f6c70
mov rbx, rax
test rax, rax
jne 0x14013df70
jmp 0x14013dec4
mov eax, dword [rdi + 0x20]
test eax, eax
je 0x14013dfa2
dec eax
mov dword [rdi + 0x20], eax
mov rcx, qword [rdi + 0x18]
mov rdx, rbx
mov rcx, qword [rcx + rsi]
call fcn.1401f6ce0
mov bl, 1
jmp 0x14013dec6

Function at 0x14013e050
Capabilities:
Hash data using djb2

Disassembly:
push rbx
sub rsp, 0x20
cmp dword [rcx + 0x10], 0x6119a407
mov rbx, rcx
je 0x14013e071
xor ecx, ecx
call fcn.140086740
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov rcx, rdx
call fcn.1400b45b0
mov rcx, rax
mov eax, 0x1505
movsx edx, byte [rcx]
test edx, edx
je 0x14013e0a0
nop dword [rax + rax]
imul eax, eax, 0x21
lea rcx, [rcx + 1]
add eax, edx
movsx edx, byte [rcx]
test edx, edx
jne 0x14013e090
xor edx, edx
div dword [rbx + 0x14]
mov eax, edx
add rsp, 0x20
pop rbx
ret
Function at 0x14013e2c0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x10], 0x6119a407
mov rdi, rdx
mov rbx, rcx
je 0x14013e2ed
xor ecx, ecx
call fcn.140086740
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, rdi
call fcn.1400b45b0
mov rcx, rax
mov eax, 0x1505
movsx edx, byte [rcx]
test edx, edx
je 0x14013e320
nop dword [rax]
nop dword [rax + rax]
imul eax, eax, 0x21
lea rcx, [rcx + 1]
add eax, edx
movsx edx, byte [rcx]
test edx, edx
jne 0x14013e310
xor edx, edx
mov r8, rdi
div dword [rbx + 0x14]
mov rcx, rbx
call fcn.14013db60
test rax, rax
je 0x14013e2e0
mov rcx, rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1401f6c40

Function at 0x14013e350
Capabilities:
Hash data using djb2

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0xc0
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
cmp dword [rcx + 0x10], 0x6119a407
je 0x14013e38a
xor ecx, ecx
call fcn.140086740
xor al, al
jmp 0x14013e3fd
mov rcx, rsi
call fcn.1400bc350
test rdi, rdi
je 0x14013e386
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400ae4d0
nop
cmp dword [rbx + 0x10], 0x6119a407
je 0x14013e418
xor ecx, ecx
call fcn.140086740
xor bl, bl
lea rcx, [rsp + 0x20]
call fcn.1400ae630
movzx eax, bl
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1402577a0
add rsp, 0xc0
pop rdi
pop rsi
pop rbx
ret
lea rcx, [rsp + 0x20]
call fcn.1400b45b0
mov rcx, rax
mov eax, 0x1505
movsx edx, byte [rcx]
test edx, edx
je 0x14013e441
lea rcx, [rcx + 1]
imul eax, eax, 0x21
add eax, edx
movsx edx, byte [rcx]
test edx, edx
jne 0x14013e431
xor edx, edx
div dword [rbx + 0x14]
cmp edx, dword [rbx + 0x14]
jae 0x14013e3ee
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14013e3ee
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14013e3ee
call fcn.1401f6c10
mov rbx, rax
test rax, rax
je 0x14013e3ee
nop word [rax + rax]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1401f6ca0
mov rcx, rbx
test al, al
jne 0x14013e496
call fcn.1401f6c70
mov rbx, rax
test rax, rax
jne 0x14013e470
jmp 0x14013e3ee
call fcn.1401f6c40
test rax, rax
je 0x14013e3ee
mov rdx, rax
mov rcx, rsi
call fcn.1400ae970
mov bl, 1
jmp 0x14013e3f0
Function at 0x140145550
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r12, r8
mov rdi, rcx
mov qword [rsp + 0x28], rcx
cmp dword [rcx + 8], 0x62cb09e3
je 0x14014558b
xor al, al
jmp 0x140145745
xor esi, esi
mov r15d, esi
test rdx, rdx
cmovns r15, rdx
cmp byte [0x1403ce355], sil
je 0x1401455c4
cmp byte [rcx + 0xdc], sil
jne 0x1401455c4
cmp qword [rcx + 0xb8], rsi
jle 0x1401455c4
mov r8, r15
lea rdx, str.consumeProgress
mov rcx, r12
call fcn.1400d13b0
mov byte [rsp + 0x30], sil
mov dword [rsp + 0x20], esi
movzx r14d, byte [rdi + 0xdc]
movzx ebx, r14b
test r14b, r14b
jne 0x14014567f
cmp qword [rdi + 0xb8], rsi
jle 0x14014567f
mov rbx, qword [rdi + 0xc0]
mov r8, qword [rdi + 0xb8]
mov rdx, rbx
mov rcx, rdi
call fcn.140145b90
mov dword [rsp + 0x20], eax
lea rax, [rbx + r15]
mov qword [rdi + 0xc0], rax
movzx ebx, r14b
cmp rax, qword [rdi + 0xb8]
jle 0x14014567f
cmp byte [0x1403ce355], sil
je 0x140145671
mov rax, qword [r12]
lea rdx, str.Amount_consumed_is_greater_than_the_total.
mov rcx, r12
call qword [rax + 0x28]
mov r8, qword [rdi + 0xc0]
lea rdx, str.m_consumed64
mov rcx, r12
call fcn.1400d13b0
mov r8, qword [rdi + 0xb8]
lea rdx, str.m_totalAmount64
mov rcx, r12
call fcn.1400d13b0
movzx ebx, byte [rdi + 0xdc]
mov rax, qword [rdi + 0xb8]
mov qword [rdi + 0xc0], rax
test bl, bl
jne 0x1401456a0
mov r8, qword [rdi + 0xb8]
test r8, r8
jle 0x1401456a0
mov rdx, qword [rdi + 0xc0]
mov rcx, rdi
call fcn.140145b90
mov esi, eax
cmp qword [rdi + 0xa8], 0
je 0x14014573e
test bl, bl
jne 0x140145767
cmp esi, dword [rsp + 0x20]
jbe 0x140145767
cmp esi, dword [rdi + 0xa0]
jbe 0x140145767
call sub.KERNEL32.dll_GetTickCount
mov dword [rdi + 0xb4], eax
cmp byte [rdi + 0xde], bl
je 0x1401456e7
cmp esi, dword [rdi + 0xd4]
je 0x140145730
mov dword [rdi + 0xa0], esi
cmp byte [0x1403ce355], 0
je 0x140145709
mov r8d, esi
lea rdx, str.percentDoneCB
mov rcx, r12
call fcn.1400d1420
nop
mov rcx, qword [rdi + 0xa8]
cmp dword [rcx + 0x10], 0x77109acd
jne 0x140145726
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, esi
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1401457c6
cmp byte [rsp + 0x30], 0
je 0x14014573e
mov byte [rdi + 0xb1], 1
movzx eax, byte [rdi + 0xb1]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1402577a0
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
cmp byte [rdi + 0xdd], 0
jne 0x14014573e
cmp dword [rdi + 0xd0], 0
je 0x14014573e
call sub.KERNEL32.dll_GetTickCount
mov edx, eax
mov ecx, eax
sub ecx, dword [rdi + 0xb4]
mov eax, dword [rdi + 0xd0]
mov r8d, 0x12c
test eax, eax
cmove eax, r8d
cmp ecx, eax
jbe 0x14014573e
mov dword [rdi + 0xd8], edx
mov dword [rdi + 0xb4], edx
mov rcx, qword [rdi + 0xa8]
cmp dword [rcx + 0x10], 0x77109acd
jne 0x1401457c6
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x18]
nop
jmp 0x140145730
Function at 0x14014c140
Capabilities:
Hash data with md5

Disassembly:
lea rax, vtable._ckMd5.0
mov dword [rcx + 8], 0x67452301
mov qword [rcx], rax
xor eax, eax
mov qword [rcx + 0x18], rax
mov rax, rcx
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
ret

Function at 0x14014ca80
Capabilities:
Encrypt data using rc4 prga
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebx, ebx
mov dword [rcx + 8], 0x67452301
mov qword [rcx + 0x18], rbx
mov rbp, r8
mov dword [rcx + 0xc], 0xefcdab89
mov rdi, rdx
mov dword [rcx + 0x10], 0x98badcfe
mov rsi, rcx
mov dword [rcx + 0x14], 0x10325476
cmp dword [rdx + 0xc08], ebx
jbe 0x14014caef
nop word [rax + rax]
mov r8d, dword [rdi + rbx*4 + 0x808]
mov rcx, rsi
mov rdx, qword [rdi + rbx*8 + 8]
call fcn.14014d000
inc ebx
cmp ebx, dword [rdi + 0xc08]
jb 0x14014cad0
mov rdx, rbp
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.14014ceb0

Function at 0x14014cb10
Capabilities:
Encrypt data using rc4 prga
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor eax, eax
mov dword [rcx + 8], 0x67452301
mov qword [rcx + 0x18], rax
mov rdi, r9
mov rbx, rcx
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
call fcn.14014d000
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14014ceb0

Function at 0x14014cb60
Capabilities:
Encrypt data using rc4 prga
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor eax, eax
mov dword [rcx + 8], 0x67452301
mov qword [rcx + 0x18], rax
mov rsi, rcx
mov dword [rcx + 0xc], 0xefcdab89
mov rbp, r8
mov dword [rcx + 0x10], 0x98badcfe
mov rdi, rdx
mov dword [rcx + 0x14], 0x10325476
mov rcx, rdx
call fcn.1400c0f00
mov rcx, rdi
mov ebx, eax
call fcn.1400c0bd0
mov rdx, rax
mov r8d, ebx
mov rcx, rsi
call fcn.14014d000
mov rdx, rbp
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.14014ceb0
Function at 0x14014cbe0
Capabilities:
Hash data with md5

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x14037d7c0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xd0]
mov rbp, rcx
mov rbx, qword [rsp + 0xd8]
xor edi, edi
mov qword [rcx + 0x18], rdi
mov r12, r9
mov dword [rcx + 8], 0x67452301
mov r15, r8
mov dword [rcx + 0xc], 0xefcdab89
mov r13, rdx
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
mov ecx, 0x4e28
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
call fcn.14008eda0
mov rsi, rax
test rax, rax
je 0x14014ce10
mov rcx, r13
mov dword [rsp + 0x48], edi
mov byte [rsp + 0x30], 1
call fcn.14017f230
test al, al
jne 0x14014cdf6
nop word [rax + rax]
mov qword [rsp + 0x28], r12
lea r9, [rsp + 0x48]
mov r8d, 0x4e20
mov qword [rsp + 0x20], r15
mov rdx, rsi
mov rcx, r13
call fcn.14017f480
test al, al
je 0x14014cdf6
mov r9d, dword [rsp + 0x48]
test r9d, r9d
je 0x14014cdce
test rbx, rbx
je 0x14014ccce
mov r8d, r9d
mov rdx, rsi
mov rcx, rbx
call fcn.1400bca00
mov r9d, dword [rsp + 0x48]
mov edi, r9d
test r9d, r9d
je 0x14014cdb7
mov eax, dword [rbp + 0x18]
mov r8d, eax
shr r8d, 3
and r8d, 0x3f
lea ecx, [rax + r9*8]
lea eax, [r9*8]
mov dword [rbp + 0x18], ecx
cmp ecx, eax
jae 0x14014ccfe
inc dword [rbp + 0x1c]
mov eax, edi
mov ebx, 0x40
shr eax, 0x1d
sub ebx, r8d
add dword [rbp + 0x1c], eax
cmp edi, ebx
jb 0x14014cd82
test ebx, ebx
je 0x14014cd42
sub r8, rsi
mov edx, ebx
add r8, rbp
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [r8 + rcx + 0x20], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14014cd30
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 8]
call fcn.14014c1b0
lea eax, [rbx + 0x3f]
cmp eax, edi
jae 0x14014cd78
nop word [rax + rax]
mov edx, ebx
lea rcx, [rbp + 8]
add rdx, rsi
call fcn.14014c1b0
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, edi
jb 0x14014cd60
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
jmp 0x14014cd84
xor ebx, ebx
sub edi, ebx
je 0x14014cdb2
mov eax, ebx
lea rdx, [rbx + rsi]
sub r8, rax
mov ecx, edi
sub r8, rsi
add r8, rbp
nop dword [rax]
movzx eax, byte [rdx]
mov byte [r8 + rdx + 0x20], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x14014cda0
mov rbx, qword [rsp + 0x38]
test r15, r15
je 0x14014cdce
mov edx, r9d
mov r8, r12
mov rcx, r15
call fcn.140145550
test al, al
jne 0x14014cde0
mov rcx, r13
call fcn.14017f230
test al, al
je 0x14014cc80
jmp 0x14014cdf6
mov rax, qword [r12]
lea rdx, str.Digest_MD5_aborted_by_application
mov rcx, r12
call qword [rax + 0x28]
mov byte [rsp + 0x30], 0
mov rcx, rsi
call fcn.1402573e4
mov rdx, qword [rsp + 0x40]
mov rcx, rbp
call fcn.14014ceb0
movzx eax, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402577a0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14014ce30
Capabilities:
Encrypt data using rc4 prga
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor eax, eax
mov dword [rcx + 8], 0x67452301
mov qword [rcx + 0x18], rax
mov rsi, rcx
mov dword [rcx + 0xc], 0xefcdab89
mov rbp, r8
mov dword [rcx + 0x10], 0x98badcfe
mov rdi, rdx
mov dword [rcx + 0x14], 0x10325476
mov rcx, rdx
call fcn.1400b4540
mov rcx, rdi
mov ebx, eax
call fcn.1400b45b0
mov rdx, rax
mov r8d, ebx
mov rcx, rsi
call fcn.14014d000
mov rdx, rbp
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.14014ceb0

Function at 0x14014cfd0
Capabilities:
Hash data with md5

Disassembly:
xor eax, eax
mov dword [rcx + 8], 0x67452301
mov qword [rcx + 0x18], rax
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
movzx esi, dl
mov rbx, rcx
jne 0x14014e9a9
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x14014e9db
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x14014e9f5
xor ecx, ecx
call fcn.140086740
cmp dword [rbx + 0xee8], 2
mov rdx, rdi
jne 0x14014eac9
lea rcx, [rbx + 0x220]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x140213a00
cmp dword [rcx + 0xee8], 2
jne 0x14014e9b0
add rcx, 0x220
call fcn.1402137e0
test rax, rax
je 0x14014e9b0
mov rdx, rdi
mov rcx, rax
call fcn.14021b2c0
test al, al
je 0x14014ea9e
test sil, sil
jne 0x14014ea1f
mov al, 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x169], 0
je 0x14014ea38
mov rax, qword [rdi]
lea rdx, str.Checking_SSH_channel...
mov rcx, rdi
call qword [rax + 0x30]
cmp qword [rbx + 0xed8], 0
je 0x14014ea5d
mov eax, dword [rbx + 0xee0]
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rbx + 0xee8], 2
jne 0x14014ea87
lea rcx, [rbx + 0x220]
call fcn.1402137d0
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
test eax, eax
setne al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x169], 0
je 0x14014eab7
mov rax, qword [rdi]
lea rdx, str.SSH_tunnel_is_not_connected.
mov rcx, rdi
call qword [rax + 0x30]
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rcx, [rbx + 0xb48]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14019be90
add rcx, 0x18
jmp fcn.140211e20

Function at 0x14014ec00
Capabilities:
Get socket status

Disassembly:
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x14014ec14
mov rcx, rax
jmp fcn.14021dbf0
cmp dword [rcx + 0xee8], 2
jne 0x14014ec29
add rcx, 0x220
jmp fcn.1402138b0
add rcx, 0xb48
jmp fcn.14019b340
Function at 0x14014ed70
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
mov esi, edx
mov rbx, rcx
jne 0x14014eda8
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x14014edd8
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x14014edf2
xor ecx, ecx
call fcn.140086740
cmp dword [rbx + 0xee8], 2
jne 0x14014edff
lea rcx, [rbx + 0x220]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1402138d0
cmp dword [rcx + 0xee8], 2
jne 0x14014edaf
add rcx, 0x220
call fcn.1402137e0
test rax, rax
je 0x14014edaf
mov rcx, rax
call fcn.140219fe0
mov rcx, rax
jmp 0x14014ee06
lea rcx, [rbx + 0xb48]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14019b4d0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea rdi, [rcx + 0x18]
mov rbx, r8
mov rcx, rdi
mov esi, edx
call fcn.140211760
test rax, rax
jne 0x140213915
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [str.No_socket_connection.]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [rax + 0x28]
mov r8, rbx
mov edx, esi
mov rcx, rax
call fcn.14019b4d0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140211ac0

Function at 0x14014ee20
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xcc], 0xc64d29ea
mov rdi, r8
mov esi, edx
mov rbx, rcx
jne 0x14014ee58
mov rax, qword [rcx + 0xed8]
test rax, rax
je 0x14014ee88
cmp dword [rax + 0x3c], 0xc64d29ea
je 0x14014eea2
xor ecx, ecx
call fcn.140086740
cmp dword [rbx + 0xee8], 2
jne 0x14014eeaf
lea rcx, [rbx + 0x220]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x140213940
cmp dword [rcx + 0xee8], 2
jne 0x14014ee5f
add rcx, 0x220
call fcn.1402137e0
test rax, rax
je 0x14014ee5f
mov rcx, rax
call fcn.140219fe0
mov rcx, rax
jmp 0x14014eeb6
lea rcx, [rbx + 0xb48]
mov r8, rdi
mov edx, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14019b4f0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea rdi, [rcx + 0x18]
mov rbx, r8
mov rcx, rdi
mov esi, edx
call fcn.140211760
test rax, rax
jne 0x140213985
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [str.No_socket_connection.]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [rax + 0x28]
mov r8, rbx
mov edx, esi
mov rcx, rax
call fcn.14019b4f0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140211ac0

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

Disassembly:
mov r8, rdx
add rcx, 0xffffffffffffff78
mov dl, 1
jmp fcn.14014e970