joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002de80
Capabilities:
Hash data using sha256

Disassembly:
push rbp
mov rbp, rsp
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x24], 0
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x24]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], edx
mov rax, qword [rbp + 0x10]
mov dword [rax], 0x6a09e667
mov rax, qword [rbp + 0x10]
mov dword [rax + 4], 0xbb67ae85
mov rax, qword [rbp + 0x10]
mov dword [rax + 8], 0x3c6ef372
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xc], 0xa54ff53a
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x10], 0x510e527f
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x14], 0x9b05688c
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x18], 0x1f83d9ab
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x1c], 0x5be0cd19
nop
pop rbp
ret

Function at 0x14002e660
Capabilities:
Authenticate hmac

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov rax, qword [rbp + 0x18]
mov qword [rbp - 8], rax
cmp qword [rbp + 0x20], 0x40
jbe 0x14002e6c9
mov rax, qword [rbp + 0x10]
mov rcx, rax
call dbg.SHA256_Init
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 8]
mov r8, rcx
mov rcx, rax
call dbg.SHA256_Update
mov rdx, qword [rbp + 0x10]
lea rax, [rbp - 0x70]
mov rcx, rax
call dbg.SHA256_Final
lea rax, [rbp - 0x70]
mov qword [rbp - 8], rax
mov qword [rbp + 0x20], 0x20
mov rax, qword [rbp + 0x10]
mov rcx, rax
call dbg.SHA256_Init
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov edx, 0x36
mov rcx, rax
call sym.memset
mov qword [rbp - 0x10], 0
jmp 0x14002e728
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
add rax, rdx
movzx ecx, byte [rax]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
add rax, rdx
movzx eax, byte [rax]
xor ecx, eax
mov edx, ecx
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
add rax, rcx
mov byte [rax], dl
add qword [rbp - 0x10], 1
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp + 0x20]
jb 0x14002e6f6
mov rax, qword [rbp + 0x10]
lea rdx, [rbp - 0x50]
mov r8d, 0x40
mov rcx, rax
call dbg.SHA256_Update
mov rax, qword [rbp + 0x10]
add rax, 0x68
mov rcx, rax
call dbg.SHA256_Init
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov edx, 0x5c
mov rcx, rax
call sym.memset
mov qword [rbp - 0x10], 0
jmp 0x14002e7ab
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
add rax, rdx
movzx ecx, byte [rax]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
add rax, rdx
movzx eax, byte [rax]
mov edx, ecx
xor edx, eax
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
add rax, rcx
mov byte [rax], dl
add qword [rbp - 0x10], 1
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp + 0x20]
jb 0x14002e779
mov rax, qword [rbp + 0x10]
lea rcx, [rax + 0x68]
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov rdx, rax
call dbg.SHA256_Update
lea rax, [rbp - 0x70]
mov r8d, 0x20
mov edx, 0
mov rcx, rax
call sym.memset
nop
add rsp, 0x90
pop rbp
ret
Function at 0x140035230
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push rbp
sub rsp, 0x260
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1f0], rcx
mov qword [rbp + 0x1f8], rdx
mov qword [rbp + 0x200], r8
mov rax, qword [rbp + 0x1f0]
mov rax, qword [rax + 0x228]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1d8], 0
mov rax, qword [rbp + 0x1f8]
mov rcx, rax
call sym.strlen
mov rdx, rax
mov rax, qword [rbp + 0x1f8]
add rax, rdx
mov word [rax], 0xa
add qword [rbp + 0x200], 1
jmp 0x1400353fa
mov dword [rbp + 0x1b8], 1
mov dword [rbp + 0x1bc], 0
mov dword [rbp - 0x50], 0
mov dword [rbp + 0x1cc], 0
jmp 0x1400352e5
mov eax, dword [rbp + 0x1cc]
mov rax, qword [rbp + rax*8 - 0x48]
cmp qword [rbp + 0x1c0], rax
je 0x1400352f0
add dword [rbp + 0x1cc], 1
mov eax, dword [rbp - 0x50]
cmp dword [rbp + 0x1cc], eax
jb 0x1400352ca
mov eax, dword [rbp - 0x50]
cmp dword [rbp + 0x1cc], eax
jne 0x14003531e
mov eax, dword [rbp - 0x50]
cmp eax, 0x3f
ja 0x14003531e
mov eax, dword [rbp + 0x1cc]
mov rdx, qword [rbp + 0x1c0]
mov qword [rbp + rax*8 - 0x48], rdx
mov eax, dword [rbp - 0x50]
add eax, 1
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0x1c0]
add eax, 1
mov ecx, eax
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8, rdx
mov edx, 0
mov rax, qword [sym.imp.WSOCK32.dll_select]
call rax
test eax, eax
jg 0x14003536d
call dbg.interrupted
test al, al
je 0x140035363
jmp 0x1400352b7
mov eax, 1
jmp 0x140035479
mov rax, qword [rbp + 0x200]
mov ecx, eax
mov rdx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1f8]
add rdx, rax
mov rax, qword [rbp + 0x1f0]
mov rax, qword [rax + 0x228]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_send]
call rax
cdqe
mov qword [rbp + 0x1d0], rax
cmp qword [rbp + 0x1d0], 0
jns 0x1400353de
call dbg.sock_blocks
xor eax, 1
test al, al
je 0x1400353d3
mov eax, 2
jmp 0x140035479
mov qword [rbp + 0x1d0], 0
mov rax, qword [rbp + 0x1d0]
add qword [rbp + 0x1d8], rax
mov rax, qword [rbp + 0x1d0]
sub qword [rbp + 0x200], rax
cmp qword [rbp + 0x200], 0
jg 0x1400352a3
mov rax, qword [rbp + 0x1f0]
mov rax, qword [rax + 0x1c8]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x1f0]
mov qword [rax + 0x1c8], rdx
mov rax, qword [rbp + 0x1f0]
mov rdx, qword [rax + 0x1d0]
mov rax, qword [rbp + 0x1d8]
add rdx, rax
mov rax, qword [rbp + 0x1f0]
mov qword [rax + 0x1d0], rdx
mov rax, qword [rbp + 0x1f0]
mov rdx, qword [rax + 0x1d8]
mov rax, qword [rbp + 0x1d8]
add rdx, rax
mov rax, qword [rbp + 0x1f0]
mov qword [rax + 0x1d8], rdx
mov eax, 0
add rsp, 0x260
pop rbp
ret
Function at 0x14003e660
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov eax, r9d
mov byte [rbp + 0x28], al
mov byte [rbp - 0x19], 0
mov byte [rbp - 0x1a], 0
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x10]
mov rcx, rax
call sym.strlen
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 8]
mov rcx, rax
call sym.strlen
mov qword [rbp - 0x30], rax
mov rax, qword [0x14011c020]
mov rax, qword [rax]
sub rax, 0x10
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
sub rax, 0x10
mov qword [rbp - 0x10], rax
jmp 0x14003e801
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov edx, 0x3a
mov rcx, rax
call sym.strchr
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
je 0x14003e781
mov rax, qword [rbp - 0x38]
add rax, 1
movzx eax, byte [rax]
test al, al
je 0x14003e781
mov rax, qword [rbp - 0x38]
sub rax, qword [rbp - 0x18]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x28]
jne 0x14003e744
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x18]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__strnicmp]
call rax
test eax, eax
je 0x14003e775
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x30]
jne 0x14003e7e8
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x18]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__strnicmp]
call rax
test eax, eax
jne 0x14003e7e8
mov rax, qword [rbp - 0x38]
add rax, 1
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
lea rdx, str.auto
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x14003e79e
mov byte [rbp + 0x28], 1
jmp 0x14003e7e9
mov rax, qword [rbp - 0x18]
lea rdx, str.noauto
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x14003e7bb
mov byte [rbp - 0x19], 1
jmp 0x14003e7e9
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call rdx
test al, al
je 0x14003e7e9
mov rax, qword [rbp - 8]
mov rcx, rax
call dbg.string_elist_del
mov byte [rbp - 0x19], 1
movzx eax, byte [rbp - 0x1a]
add eax, 1
mov byte [rbp - 0x1a], al
jmp 0x14003e7e9
nop
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x10]
sub rax, 0x10
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
lea rdx, [rax + 0x10]
mov rax, qword [0x14011c020]
cmp rdx, rax
jne 0x14003e6d1
cmp byte [rbp + 0x28], 0
jne 0x14003e82a
movzx eax, byte [rbp - 0x19]
xor eax, 1
test al, al
je 0x14003e842
cmp qword [rbp + 0x20], 0
je 0x14003e842
mov rax, qword [rbp + 0x20]
call rax
mov edx, eax
movzx eax, byte [rbp - 0x1a]
add eax, edx
mov byte [rbp - 0x1a], al
movsx eax, byte [rbp - 0x1a]
add rsp, 0x60
pop rbp
ret
Function at 0x14003e850
Capabilities:
Read file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov qword [rbp - 8], 0
jmp 0x14003e8d4
cmp qword [rbp + 0x28], 0
jne 0x14003e880
mov rax, qword [rbp + 0x20]
mov ecx, eax
jmp 0x14003e885
mov ecx, 1
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp + 0x10]
mov r8d, ecx
mov ecx, eax
call sym.read
cdqe
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0xffffffffffffffff
je 0x14003e8dd
mov rax, qword [rbp - 0x10]
add qword [rbp - 8], rax
cmp qword [rbp + 0x28], 0
je 0x14003e8c4
mov rax, qword [rbp + 0x28]
movzx edx, byte [rax]
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax]
cmp dl, al
je 0x14003e8e0
mov rax, qword [rbp - 0x10]
add qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x10]
sub qword [rbp + 0x20], rax
cmp qword [rbp + 0x20], 0
jne 0x14003e871
jmp 0x14003e8e1
nop
jmp 0x14003e8e1
nop
mov rax, qword [rbp - 8]
add rsp, 0x30
pop rbp
ret
Function at 0x14004d870
Capabilities:
Hash data using sha256

Disassembly:
push rbp
mov rbp, rsp
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov dword [rax], 0x6a09e667
mov rax, qword [rbp + 0x10]
mov dword [rax + 4], 0xbb67ae85
mov rax, qword [rbp + 0x10]
mov dword [rax + 8], 0x3c6ef372
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xc], 0xa54ff53a
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x10], 0x510e527f
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x14], 0x9b05688c
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x18], 0x1f83d9ab
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x1c], 0x5be0cd19
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0
nop
pop rbp
ret
Function at 0x14004ec80
Capabilities:
Hash data using sha512

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
cmp qword [rbp + 0x18], 0
je 0x14004ecad
cmp qword [rbp + 0x18], 0x40
ja 0x14004ecad
cmp qword [rbp + 0x28], 0x40
jbe 0x14004ecb7
mov eax, 0xffffffff
jmp 0x14004edb4
mov qword [rbp - 8], 0
jmp 0x14004eced
mov rax, qword [rbp - 8]
lea rdx, [rax*8]
lea rax, [0x1400fac40]
mov rdx, qword [rdx + rax]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 8]
add rcx, 0x10
mov qword [rax + rcx*8], rdx
add qword [rbp - 8], 1
cmp qword [rbp - 8], 7
jbe 0x14004ecc1
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 0x80]
mov rax, qword [rbp + 0x28]
shl rax, 8
xor rax, qword [rbp + 0x18]
xor rax, rdx
xor rax, 0x1010000
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov qword [rax + 0x80], rdx
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xc0], 0
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xc8], 0
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xd0], 0
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov qword [rax + 0xd8], rdx
mov rax, qword [rbp + 0x28]
mov qword [rbp - 8], rax
jmp 0x14004ed7b
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 8]
add rax, rdx
mov byte [rax], 0
add qword [rbp - 8], 1
cmp qword [rbp - 8], 0x7f
jbe 0x14004ed68
cmp qword [rbp + 0x28], 0
je 0x14004edaf
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x10]
mov r8, rcx
mov rcx, rax
call dbg.blake2b_update
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xd0], pe_nt_image_headers64
mov eax, 0
add rsp, 0x30
pop rbp
ret

Function at 0x14004f420
Capabilities:
Set socket configuration

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov dword [rbp - 4], 0
lea rdx, [rbp - 4]
mov rax, qword [rbp + 0x10]
mov r8, rdx
mov edx, 0x8004667e
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_ioctlsocket]
call rax
nop
add rsp, 0x30
pop rbp
ret
Function at 0x140050940
Capabilities:
Resolve dns

Disassembly:
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov byte [rbp - 1], 0
mov ecx, 0x41
call sym.malloc
mov rdx, rax
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x41
mov r8, rdx
mov edx, pe_nt_image_headers64
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getnameinfo]
call rax
mov rax, qword [rbp + 0x10]
movzx eax, word [rax]
cmp ax, 2
jne 0x1400509ee
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
lea rax, [rbp - 0x30]
mov r8, rdx
lea rdx, str.::ffff:_s
mov rcx, rax
call sym.sprintf_1
lea rdx, [rbp - 0x40]
lea rax, [rbp - 0x30]
mov r8, rdx
mov rdx, rax
mov ecx, 0x17
call dbg.Inet_Pton
jmp 0x140050a09
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rbp - 0x40]
mov r8, rdx
mov rdx, rax
mov ecx, 0x17
call dbg.Inet_Pton
mov ecx, 0x52
mov rax, qword [sym.imp.msvcrt.dll_toupper]
call rax
mov edx, eax
mov rax, qword [rbp + 0x20]
mov byte [rax], dl
mov rax, qword [0x14011bc50]
mov rax, qword [rax]
test rax, rax
je 0x140050b05
mov dword [rbp - 8], 0
jmp 0x140050af4
mov byte [rbp - 0xd], 1
mov dword [rbp - 0xc], 0
jmp 0x140050ab7
mov eax, dword [rbp - 0xc]
cdqe
movzx r8d, byte [rbp + rax - 0x40]
mov rcx, qword [0x14012ea20]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
add rax, rdx
add rax, rax
lea rdx, [rcx + rax]
mov eax, dword [rbp - 0xc]
cdqe
movzx eax, byte [rdx + rax + 0x10]
and r8d, eax
mov rcx, qword [0x14012ea20]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
add rax, rdx
add rax, rax
lea rdx, [rcx + rax]
mov eax, dword [rbp - 0xc]
cdqe
movzx eax, byte [rdx + rax]
cmp r8b, al
je 0x140050ab3
mov byte [rbp - 0xd], 0
jmp 0x140050abd
add dword [rbp - 0xc], 1
cmp dword [rbp - 0xc], 0xf
jle 0x140050a4b
cmp byte [rbp - 0xd], 0
je 0x140050af0
mov byte [rbp - 1], 1
mov rcx, qword [0x14012ea20]
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
add rax, rdx
add rax, rax
add rax, rcx
movzx edx, byte [rax + 0x20]
mov rax, qword [rbp + 0x20]
mov byte [rax], dl
jmp 0x140050b56
add dword [rbp - 8], 1
mov eax, dword [0x14012ea28]
cmp dword [rbp - 8], eax
jl 0x140050a3e
jmp 0x140050b56
mov rax, qword [0x14011bcf0]
movzx eax, byte [rax]
test al, al
je 0x140050b19
mov byte [rbp - 1], 1
jmp 0x140050b56
mov rdx, qword [str.127.0.0.1]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rcx, rax
call sym.strcmp
test eax, eax
je 0x140050b43
lea rax, [rbp - 0x40]
mov rcx, rax
call dbg.IN6_IS_ADDR_LOOPBACK
test eax, eax
je 0x140050b4a
mov eax, 1
jmp 0x140050b4f
mov eax, 0
mov byte [rbp - 1], al
and byte [rbp - 1], 1
movzx eax, byte [rbp - 1]
sub rsp, 0xffffffffffffff80
pop rbp
ret
Function at 0x140051a90
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
add rax, 0x2b8
mov r9d, 0x6e3
lea r8, str.clear_sock
lea rdx, str..._.._cgminer_4.9.1_util.c
mov rcx, rax
call dbg._mutex_lock
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x228]
test rax, rax
je 0x140051b08
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 0x230]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x228]
mov r9d, 0
mov r8d, 0x1ffc
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_recv]
call rax
cdqe
mov qword [rbp - 8], rax
jmp 0x140051b10
mov qword [rbp - 8], 0
cmp qword [rbp - 8], 0
jg 0x140051ac2
mov rax, qword [rbp + 0x10]
add rax, 0x2b8
mov r9d, 0x6ea
lea r8, str.clear_sock
lea rdx, str..._.._cgminer_4.9.1_util.c
mov rcx, rax
call dbg._mutex_unlock
mov rax, qword [rbp + 0x10]
mov rcx, rax
call dbg.clear_sockbuf
nop
add rsp, 0x30
pop rbp
ret

Function at 0x140055aa0
Capabilities:
Manipulate console buffer

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
call dbg.curses_active_forcelocked
test al, al
je 0x140055b2e
mov byte [0x1400f6290], 0
mov byte [0x14012efd0], 0
call dbg.disable_curses_windows
lea rax, [0x140133798]
mov rax, qword [rax]
mov rcx, rax
call sym.delwin
call sym.endwin_u64_4400
mov ecx, 0xfffffff5
mov rax, qword [sym.imp.KERNEL32.dll_GetStdHandle]
call rax
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x20]
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
call rax
test eax, eax
je 0x140055b29
mov word [rbp - 0x24], 0
movzx eax, word [rbp - 0x1e]
sub eax, 1
mov word [rbp - 0x22], ax
mov edx, dword [rbp - 0x24]
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call rax
call dbg.unlock_curses
nop
add rsp, 0x50
pop rbp
ret
Function at 0x140085530
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
sub rsp, 0x240
lea rbp, [rsp + 0x80]
mov eax, edx
mov qword [rbp + 0x1e0], r8
mov qword [rbp + 0x1e8], r9
mov edx, ecx
mov byte [rbp + 0x1d0], dl
mov byte [rbp + 0x1d8], al
mov byte [rbp + 0x1b7], 0
mov byte [rbp + 0x1b6], 0
mov r9d, 0x612
lea r8, str.in_use_get_ress
lea rax, str..._.._cgminer_4.9.1_usbutils.c
mov rdx, rax
lea rax, [0x140130d70]
mov rcx, rax
call sym._mutex_lock_3
mov rax, qword [0x140130eb8]
mov qword [rbp + 0x1b8], rax
jmp 0x140085663
mov rax, qword [rbp + 0x1b8]
mov edx, dword [rax]
movzx eax, byte [rbp + 0x1d0]
cmp edx, eax
jne 0x140085651
mov rax, qword [rbp + 0x1b8]
mov edx, dword [rax + 4]
movzx eax, byte [rbp + 0x1d8]
cmp edx, eax
jne 0x140085651
mov byte [rbp + 0x1b7], 1
mov rax, qword [rbp + 0x1b8]
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400855f0
mov byte [rbp + 0x1b6], 1
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x1e0]
mov qword [rax], rdx
mov rax, qword [rbp + 0x1b8]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x1b8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14008562b
mov byte [rbp + 0x1b6], 1
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x1e8]
mov qword [rax], rdx
mov rax, qword [rbp + 0x1b8]
mov qword [rax + 0x10], 0
jmp 0x140085671
mov rax, qword [rbp + 0x1b8]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x1b8], rax
cmp qword [rbp + 0x1b8], 0
jne 0x1400855a5
mov r9d, 0x627
lea r8, str.in_use_get_ress
lea rax, str..._.._cgminer_4.9.1_usbutils.c
mov rdx, rax
lea rax, [0x140130d70]
mov rcx, rax
call sym._mutex_unlock_3
movzx eax, byte [rbp + 0x1b7]
xor eax, 1
test al, al
je 0x140085712
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x1400856ce
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x1400856ce
mov rax, qword [0x14011be10]
mov eax, dword [rax]
test eax, eax
js 0x140085712
movzx edx, byte [rbp + 0x1d8]
movzx ecx, byte [rbp + 0x1d0]
lea rax, [rbp - 0x50]
mov dword [rsp + 0x20], edx
mov r9d, ecx
lea r8, str.FAIL:_USB_get_lock_not_found___d:_d_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_4
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
cmp byte [rbp + 0x1b6], 0
je 0x140085788
mov rax, qword [0x14011c1e0]
movzx eax, byte [rax]
test al, al
jne 0x140085744
mov rax, qword [0x14011be20]
movzx eax, byte [rax]
test al, al
jne 0x140085744
mov rax, qword [0x14011be10]
mov eax, dword [rax]
test eax, eax
js 0x140085788
movzx edx, byte [rbp + 0x1d8]
movzx ecx, byte [rbp + 0x1d0]
lea rax, [rbp - 0x50]
mov dword [rsp + 0x20], edx
mov r9d, ecx
lea r8, str.FAIL:_USB_get_lock_empty___d:_d_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_4
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
nop
add rsp, 0x240
pop rbp
ret
Function at 0x1400a78f0
Capabilities:
Set socket configuration

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov dword [rbp - 4], 1
mov dword [rbp - 8], 1
lea rdx, [rbp - 8]
mov rax, qword [rbp + 0x10]
mov r8, rdx
mov edx, 0x8004667e
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_ioctlsocket]
call rax
lea rdx, [rbp - 4]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x20], 4
mov r9, rdx
mov r8d, 8
mov edx, 0xffff
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_setsockopt]
call rax
mov rax, qword [0x14011bd60]
movzx eax, byte [rax]
xor eax, 1
test al, al
je 0x1400a798b
lea rdx, [rbp - 4]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x20], 4
mov r9, rdx
mov r8d, 1
mov edx, 6
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_setsockopt]
call rax
nop
add rsp, 0x40
pop rbp
ret
Function at 0x1400b5a10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov edx, 0
mov rcx, rax
call sym.memset
mov byte [rbp - 0x50], 0x20
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x10]
mov r8d, 0xa1
mov rcx, rax
call dbg.mcp2210_send_recv
xor eax, 1
test al, al
je 0x1400b5a62
mov eax, 0
jmp 0x1400b5b06
mov dword [rbp - 4], 0
jmp 0x1400b5ace
mov eax, dword [rbp - 4]
add eax, 4
cdqe
movzx eax, byte [rbp + rax - 0x50]
mov ecx, eax
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
mov byte [rdx + rax], cl
movzx eax, byte [rbp - 0x43]
movsx edx, al
mov eax, dword [rbp - 4]
mov ecx, eax
shr edx, cl
mov eax, edx
and eax, 1
mov ecx, eax
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
mov byte [rdx + rax + 9], cl
movzx eax, byte [rbp - 0x41]
movsx edx, al
mov eax, dword [rbp - 4]
mov ecx, eax
shr edx, cl
mov eax, edx
and eax, 1
mov ecx, eax
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
mov byte [rdx + rax + 0x12], cl
add dword [rbp - 4], 1
cmp dword [rbp - 4], 7
jle 0x1400b5a6b
movzx eax, byte [rbp - 0x44]
mov edx, eax
mov rax, qword [rbp + 0x18]
mov byte [rax + 8], dl
movzx eax, byte [rbp - 0x42]
and eax, 1
mov edx, eax
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x11], dl
movzx eax, byte [rbp - 0x40]
and eax, 1
mov edx, eax
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x1a], dl
mov eax, 1
add rsp, 0x70
pop rbp
ret
Function at 0x1400b60d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov edx, 0
mov rcx, rax
call sym.memset
mov byte [rbp - 0x50], 0x20
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x10]
mov r8d, 0xa1
mov rcx, rax
call dbg.mcp2210_send_recv
xor eax, 1
test al, al
je 0x1400b6122
mov eax, 0
jmp 0x1400b61f8
movzx eax, byte [rbp - 0x3f]
mov byte [rbp - 5], al
lea rax, [rbp - 0x50]
mov r8d, 0x40
mov edx, 0
mov rcx, rax
call sym.memset
mov byte [rbp - 0x50], 0x21
movzx eax, byte [rbp - 5]
mov byte [rbp - 0x3f], al
mov dword [rbp - 4], 0
jmp 0x1400b61bb
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rbp - 4]
add eax, 4
cdqe
mov byte [rbp + rax - 0x50], dl
movzx r8d, byte [rbp - 0x43]
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
movzx eax, byte [rdx + rax + 9]
movzx edx, al
mov eax, dword [rbp - 4]
mov ecx, eax
shl edx, cl
mov eax, edx
or eax, r8d
mov byte [rbp - 0x43], al
movzx r8d, byte [rbp - 0x41]
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbp - 4]
cdqe
movzx eax, byte [rdx + rax + 0x12]
movzx edx, al
mov eax, dword [rbp - 4]
mov ecx, eax
shl edx, cl
mov eax, edx
or eax, r8d
mov byte [rbp - 0x41], al
add dword [rbp - 4], 1
cmp dword [rbp - 4], 7
jle 0x1400b6154
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 8]
mov byte [rbp - 0x44], al
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x11]
mov byte [rbp - 0x42], al
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x1a]
mov byte [rbp - 0x40], al
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x10]
mov r8d, 0xa2
mov rcx, rax
call dbg.mcp2210_send_recv
add rsp, 0x70
pop rbp
ret

Function at 0x1400b8fc0
Capabilities:
Set socket configuration

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov dword [rbp - 4], 1
lea rdx, [rbp - 4]
mov rax, qword [rbp + 0x10]
mov r8, rdx
mov edx, 0x8004667e
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_ioctlsocket]
call rax
nop
add rsp, 0x30
pop rbp
ret