joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400af570
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, ecx
mov ecx, dword [0x1402a3830]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400af58e
test ebx, ebx
setne byte [rax + 8]
add rsp, 0x20
pop rbx
ret

Function at 0x1400af5a0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x30
mov ecx, dword [0x1402a3830]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400af5bc
cmp byte [rax + 8], 0
jne 0x1400af5c2
add rsp, 0x30
pop rbx
ret
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400af5bc
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af5f0
mov qword [rsp + 0x28], rax
mov rcx, qword [rbx + 0x10]
call qword [rbx + 8]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x28]
test rbx, rbx
jne 0x1400af5d7
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af606
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__endthreadex]
lea rcx, [rax + 0x30]
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0x28]
call fcn.14016b6d8
jmp 0x1400af5fe

Function at 0x1400af630
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbx, qword [0x140285110]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], r8
mov esi, ecx
mov qword [rsp + 0x78], r9
mov ecx, dword [0x1402a3830]
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400af6b1
lea rdx, [rsp + 0x68]
cmp esi, 1
mov qword [rsp + 0x30], rdx
je 0x1400af710
jle 0x1400af6c3
cmp esi, 2
je 0x1400af6e0
cmp esi, 3
jne 0x1400af6b1
lea rsi, [rax + 0x30]
mov qword [rsp + 0x28], rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsp + 0x28]
mov rcx, rsi
mov qword [rax + 0x28], 0
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rsp + 0x38]
xor rax, qword [rbx]
jne 0x1400af71d
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret
test esi, esi
jne 0x1400af6b1
mov rdi, qword [rdx]
mov rcx, qword [rax + 0x10]
mov qword [rdi], rcx
mov qword [rax + 0x10], rdi
jmp 0x1400af6b1
lea rsi, [rax + 0x30]
mov rdi, qword [rdx]
mov qword [rsp + 0x28], rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8, qword [rsp + 0x28]
mov rcx, rsi
mov qword [r8 + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400af6b1
mov r9, qword [rax + 0x10]
mov r10, qword [r9]
mov qword [rax + 0x10], r10
jmp 0x1400af6b1
call fcn.1400c4ec0
nop
nop dword [rax]
nop word cs:[rax + rax]
Function at 0x1400af740
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rsi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rcx
mov ecx, dword [0x1402a3830]
call rsi
test rax, rax
je 0x1400af76b
cmp byte [rax + 8], 0
jne 0x1400af830
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
movabs r12, 0x20c49ba5e353f7cf
mov ebp, 0x7fffffff
call qword [0x14016e2c0]
mov rcx, rbx
sub rcx, rax
test rcx, rcx
jle 0x1400af820
lea r8, [rcx + 0x3e7]
mov rax, r8
mov r9, r8
imul r12
sar r9, 0x3f
sar rdx, 7
sub rdx, r9
cmp rdx, 0x7fffffff
cmovg rdx, rbp
mov rcx, rdx
mov edx, 1
call rdi
mov ecx, dword [0x1402a3830]
call rsi
test rax, rax
je 0x1400af781
cmp byte [rax + 8], 0
je 0x1400af781
movzx r10d, byte [rax + 9]
test r10b, r10b
je 0x1400af781
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af809
mov qword [rsp + 0x28], rax
mov rcx, qword [rbx + 0x10]
call qword [rbx + 8]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x28]
test rbx, rbx
jne 0x1400af7f0
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af864
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__endthreadex]
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400af76b
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af809
mov qword [rsp + 0x28], rax
mov rcx, qword [rbx + 0x10]
call qword [rbx + 8]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x28]
test rbx, rbx
jne 0x1400af849
jmp 0x1400af809
lea rcx, [rax + 0x30]
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0x28]
call fcn.14016b6d8
jmp 0x1400af817
Function at 0x1400af880
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
call qword [0x14016e2c0]
mov ecx, dword [0x1402a3830]
add rbx, rax
mov rsi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rsi
test rax, rax
je 0x1400af8b4
cmp byte [rax + 8], 0
jne 0x1400af980
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
movabs r12, 0x20c49ba5e353f7cf
mov ebp, 0x7fffffff
nop word [rax + rax]
call qword [0x14016e2c0]
mov rcx, rbx
sub rcx, rax
test rcx, rcx
jle 0x1400af970
lea r8, [rcx + 0x3e7]
mov rax, r8
mov r9, r8
imul r12
sar r9, 0x3f
sar rdx, 7
sub rdx, r9
cmp rdx, 0x7fffffff
cmovg rdx, rbp
mov rcx, rdx
mov edx, 1
call rdi
mov ecx, dword [0x1402a3830]
call rsi
test rax, rax
je 0x1400af8d0
cmp byte [rax + 8], 0
je 0x1400af8d0
movzx r10d, byte [rax + 9]
test r10b, r10b
je 0x1400af8d0
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af958
mov qword [rsp + 0x28], rax
mov rcx, qword [rbx + 0x10]
call qword [rbx + 8]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x28]
test rbx, rbx
jne 0x1400af93f
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af9b4
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__endthreadex]
nop
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400af8b4
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af958
mov qword [rsp + 0x28], rax
mov rcx, qword [rbx + 0x10]
call qword [rbx + 8]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x28]
test rbx, rbx
jne 0x1400af999
jmp 0x1400af958
lea rcx, [rax + 0x30]
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0x28]
call fcn.14016b6d8
jmp 0x1400af966

Function at 0x1400afbe0
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rbx, qword [0x140285110]
lea rcx, [rsp + 0x20]
mov rax, qword [rbx]
mov qword [rsp + 0x58], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov rdx, qword [rsp + 0x58]
xor rdx, qword [rbx]
mov eax, dword [rsp + 0x40]
jne 0x1400afc15
add rsp, 0x60
pop rbx
ret
call fcn.1400c4ec0
nop
nop dword [rax + rax]
Function at 0x1400c2320
Capabilities:
Create thread

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x60]
mov rsi, rcx
mov rdi, rdx
test rax, rax
je 0x1400c2355
mov byte [rax + 0x30], 1
mfence
mov rdx, qword [rcx + 0x60]
mov rcx, qword [rdx + 0x28]
xor edx, edx
call sym.libvlccore.dll_vlc_join
mov rcx, qword [rsi + 0x60]
call sym.libvlccore.dll_vlc_object_release
mov rcx, qword [rsi]
lea r8, str.update_download
mov edx, 0x48
call fcn.1400a2e30
test rax, rax
mov rbx, rax
je 0x1400c23b0
mov qword [rax + 0x38], rsi
mov qword [rsi + 0x60], rax
xor eax, eax
test rdi, rdi
je 0x1400c2388
mov rcx, rdi
call sub.msvcrt.dll__strdup
mov qword [rbx + 0x40], rax
lea rcx, [rbx + 0x28]
lea rdx, [0x1400c0dc0]
mov byte [rbx + 0x30], 0
xor r9d, r9d
mov r8, rbx
mfence
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.libvlccore.dll_vlc_clone
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400c2660
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
mov eax, 0x1038
push rsi
push rbx
call fcn.14015b3e0
sub rsp, rax
mov rbp, qword [0x140285110]
mov rdi, rdx
lea rdx, [0x1401a085b]
mov rax, qword [rbp]
mov qword [rsp + 0x1028], rax
xor eax, eax
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov rsi, rax
je 0x1400c26f1
lea rbx, [rsp + 0x20]
jmp 0x1400c26af
mov rdx, rbx
mov rcx, rdi
call fcn.1400e9800
mov r8d, 0x1000
mov r9, rsi
mov edx, 1
mov rcx, rbx
call sub.msvcrt.dll_fread
test rax, rax
mov r8, rax
jne 0x1400c26a4
mov rcx, rsi
call sub.msvcrt.dll_fclose
xor eax, eax
mov rdi, qword [rsp + 0x1028]
xor rdi, qword [rbp]
jne 0x1400c26f8
add rsp, 0x1038
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, 0xffffffff
jmp 0x1400c26d7
call fcn.1400c4ec0
nop
nop
Function at 0x1400c59e0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rsi, qword [0x140285110]
mov ebx, ecx
mov rbp, rdx
mov r13d, r8d
mov rax, qword [rsi]
mov qword [rsp + 0x68], rax
xor eax, eax
cmp qword [rdx + 0x28], 0
jne 0x1400c5ba0
mov r12, qword [rdx + 0x18]
cmp r12, 0xff
ja 0x1400c5b88
mov rcx, r12
shl rcx, 4
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x1400c5b64
test r12, r12
je 0x1400c5a75
mov r8, qword [rbp + 0x10]
xor r10d, r10d
xor edx, edx
nop word [rax + rax]
shl r10, 4
lea r9, [rdi + r10]
add r10, r8
mov rcx, qword [r10 + 8]
mov rax, qword [r10]
lea r10d, [rdx + 1]
cmp r12, r10
mov rdx, r10
mov dword [r9], ecx
mov qword [r9 + 8], rax
ja 0x1400c5a50
mov r11, qword [rbp + 8]
mov dword [rsp + 0x5c], r13d
test r11d, r11d
mov dword [rsp + 0x60], r11d
jne 0x1400c5b00
movsxd rcx, ebx
lea rbx, [rsp + 0x5c]
lea r9, [rsp + 0x64]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WS2_32.dll_WSARecv]
mov rcx, rdi
mov r13d, eax
call fcn.14016b6d8
test r13d, r13d
jne 0x1400c5b57
movsxd r12, dword [rsp + 0x60]
mov edi, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x64]
mov dword [rbp + 0x30], edi
mov qword [rbp + 8], r12
mov rbx, qword [rsp + 0x68]
xor rbx, qword [rsi]
jne 0x1400c5bb8
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea r8, [rsp + 0x60]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x5c]
movsxd rcx, ebx
mov rdx, rdi
mov qword [rsp + 0x30], r8
mov r9, qword [rbp]
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r9
lea r9, [rsp + 0x64]
call qword [sym.imp.WS2_32.dll_WSARecvFrom]
mov rcx, rdi
mov r13d, eax
call fcn.14016b6d8
test r13d, r13d
je 0x1400c5acc
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1400c5b70
mov rax, 0xffffffffffffffff
jmp 0x1400c5ae0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xb
mov rax, 0xffffffffffffffff
jmp 0x1400c5ae0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rax, 0xffffffffffffffff
jmp 0x1400c5ae0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
mov rax, 0xffffffffffffffff
jmp 0x1400c5ae0
call fcn.1400c4ec0
nop
nop
nop
Function at 0x1400c5bc0
Capabilities:
Send data
Send data on socket

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rsi, qword [0x140285110]
mov ebx, ecx
mov r12, rdx
mov r13d, r8d
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor eax, eax
cmp qword [rdx + 0x28], 0
jne 0x1400c5d0a
mov rbp, qword [rdx + 0x18]
cmp rbp, 0xff
ja 0x1400c5cf5
mov rcx, rbp
shl rcx, 4
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x1400c5ccd
test rbp, rbp
je 0x1400c5c55
mov rdx, qword [r12 + 0x10]
xor r8d, r8d
xor r9d, r9d
nop dword [rax]
shl r8, 4
lea r10, [rdi + r8]
add r8, rdx
mov rcx, qword [r8 + 8]
mov rax, qword [r8]
lea r8d, [r9 + 1]
cmp rbp, r8
mov r9, r8
mov dword [r10], ecx
mov qword [r10 + 8], rax
ja 0x1400c5c30
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
movsxd rcx, ebx
mov r11, qword [r12 + 8]
lea r9, [rsp + 0x54]
mov r8d, ebp
mov rdx, rdi
mov dword [rsp + 0x30], r11d
mov rbx, qword [r12]
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x28], rbx
call qword [sym.imp.WS2_32.dll_WSASendTo]
mov rcx, rdi
mov r12d, eax
call fcn.14016b6d8
test r12d, r12d
jne 0x1400c5cc0
mov eax, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x58]
xor rbx, qword [rsi]
jne 0x1400c5d1f
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1400c5ce0
mov rax, 0xffffffffffffffff
jmp 0x1400c5ca7
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xb
mov rax, 0xffffffffffffffff
jmp 0x1400c5ca7
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rax, 0xffffffffffffffff
jmp 0x1400c5ca7
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
mov rax, 0xffffffffffffffff
jmp 0x1400c5ca7
call fcn.1400c4ec0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x1400cabe0
Capabilities:
Get geographical location
Query environment variable

Disassembly:
push rsi
push rbx
sub rsp, 0x28
cmp ecx, 5
ja 0x1400cac79
xor edx, edx
call fcn.1400d0d50
mov edx, 0x3b
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1400cac1a
xor edx, edx
mov ecx, 2
call fcn.1400d0d50
mov rsi, rax
mov ebx, dword [0x1402a3d68]
test ebx, ebx
je 0x1400cac37
lea rdx, [0x1402a3980]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400cac97
lea rcx, [0x1402a3e80]
mov r8d, 0x1ae
mov rdx, rsi
call sub.msvcrt.dll_strncpy
mov byte [0x1402a402e], 0
mov dword [0x1402a4030], 0
mov edx, 2
lea rcx, [0x1400c9350]
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
mov ebx, dword [0x1402a4030]
test ebx, ebx
jne 0x1400cac82
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
lea rcx, [0x1402a3980]
mov rdx, rsi
mov dword [0x1402a3d68], ebx
call sub.msvcrt.dll_strcpy
movzx ecx, bx
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.1400c94f0

Function at 0x1400cacb0
Capabilities:
Query environment variable

Disassembly:
push rbx
sub rsp, 0x20
lea rcx, [0x1401a1d38]
mov rbx, rdx
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cacce
cmp byte [rax], 0
jne 0x1400cacfd
mov rcx, rbx
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cace0
cmp byte [rax], 0
jne 0x1400cacfd
lea rcx, [0x1401a1d3f]
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cacfd
cmp byte [rax], 0
mov edx, 0
cmove rax, rdx
add rsp, 0x20
pop rbx
ret

Function at 0x1400cad20
Capabilities:
Get geographical location
Query environment variable

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
movzx ecx, ax
add rsp, 0x28
jmp fcn.1400c94f0

Function at 0x1400cad90
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rdx
mov rdi, r8
mov rdx, rcx
mov rsi, rcx
mov ecx, 0x22
call fcn.14016b618
cmp rbx, rdi
je 0x1400cae4e
add rbx, 1
lea rbp, [0x1401a1d50]
lea r12, [0x1401a1d54]
jmp 0x1400cadeb
cmp cl, 0x22
je 0x1400cae30
cmp cl, 0x5c
je 0x1400cae30
mov rdx, rsi
call fcn.14016b618
cmp rdi, rbx
je 0x1400cae4e
add rbx, 1
movsx ecx, byte [rbx - 1]
cmp cl, 0xa
jne 0x1400cadd0
mov r9, rsi
mov r8d, 3
mov edx, 1
mov rcx, rbp
call sub.msvcrt.dll_fwrite
cmp rdi, rbx
je 0x1400cae65
mov r9, rsi
mov r8d, 2
mov edx, 1
mov rcx, r12
call sub.msvcrt.dll_fwrite
jmp 0x1400cade7
mov rdx, rsi
mov ecx, 0x5c
call fcn.14016b618
movsx ecx, byte [rbx - 1]
mov rdx, rsi
call fcn.14016b618
cmp rdi, rbx
jne 0x1400cade7
mov rdx, rsi
mov ecx, 0x22
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14016b618
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x1400cd930
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rdx
mov rdi, rcx
mov edx, 0x24
mov rcx, rbx
mov rsi, r8
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1400cd9c0
lea rdx, [rsp + 0x28]
mov r8, rbx
xor ecx, ecx
mov r9, rsi
call fcn.1400cb1a0
test rax, rax
mov rbx, rax
je 0x1400cd993
mov r8, qword [rsp + 0x28]
mov r9, rdi
mov edx, 1
mov rcx, rax
call sub.msvcrt.dll_fwrite
mov rcx, rbx
mov rsi, rax
call fcn.14016b6d8
cmp rsi, qword [rsp + 0x28]
je 0x1400cd9a0
mov eax, 0xffffffff
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
cmp rsi, 0x7fffffff
mov eax, esi
jbe 0x1400cd998
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x84
jmp 0x1400cd993
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14015d2b0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400e9800
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
call fcn.1400eaff0
test eax, eax
jne 0x1400e9821
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.1400fccb0

Function at 0x1400ea190
Capabilities:
Write file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x1402a4d30]
mov ebx, ecx
mov rsi, rdx
mov rdi, r8
test rax, rax
je 0x1400ea1e0
mov r9, r8
mov r8, rdx
mov edx, ecx
mov rcx, qword [0x1402a4d28]
call rax
cmp ebx, 0x28
je 0x1400ea2d9
cmp ebx, 0x32
je 0x1400ea2d9
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp ecx, 0x1e
je 0x1400ea270
jle 0x1400ea260
cmp ecx, 0x32
je 0x1400ea231
cmp ecx, 0x64
je 0x1400ea2b0
cmp ecx, 0x28
je 0x1400ea280
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
call rbp
lea rdx, str._Unknown_log_level__d_:
lea rcx, [rax + 0x60]
mov r8d, ebx
call sub.msvcrt.dll_fprintf
call rbp
lea rcx, [rax + 0x60]
mov r8, rdi
mov rdx, rsi
call sub.msvcrt.dll_vfprintf
jmp 0x1400ea1bd
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
call rbp
lea rcx, str.Ohhhh_jeeee:
lea r9, [rax + 0x60]
mov r8d, 0xd
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x1400ea21e
cmp ecx, 0xa
je 0x1400ea270
cmp ecx, 0x14
je 0x1400ea270
test ecx, ecx
jne 0x1400ea202
nop
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
jmp 0x1400ea21e
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
call rbp
lea rcx, str.Fatal:
lea r9, [rax + 0x60]
mov r8d, 7
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x1400ea21e
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
call rbp
lea rcx, str.DBG:
lea r9, [rax + 0x60]
mov r8d, 5
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x1400ea21e
lea rax, str.internal_error__fatal_or_bug_
lea r8, str._gcry_logv
lea rcx, str.misc.c
mov r9d, 1
mov edx, 0x8c
mov qword [rsp + 0x20], rax
call fcn.1400f0fc0
call fcn.1400f0360
call sub.msvcrt.dll_abort
nop
nop
Function at 0x1400f2770
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
mov eax, dword [rcx + 0x60]
cmp eax, 0xa
je 0x1400f27f0
jg 0x1400f2791
cmp eax, 8
je 0x1400f27e0
cmp eax, 9
jne 0x1400f27b0
add rsp, 0x28
jmp 0x140126420
cmp eax, 0xb
je 0x1400f27d0
cmp eax, 0x10001
jne 0x1400f27b0
add rsp, 0x28
jmp fcn.140125160
lea rcx, str.gcry_cipher_gettag:_invalid_mode__d_n
mov edx, eax
call fcn.1400ea400
mov eax, 0x47
add rsp, 0x28
ret
add rsp, 0x28
jmp 0x1401273d0
add rsp, 0x28
jmp 0x140124060
add rsp, 0x28
jmp 0x140127f90
xor r9d, r9d
jmp fcn.140123f10
test byte [rcx + 0xf4], 8
je 0x140126430
mov eax, 0x9c
ret
xor r9d, r9d
jmp fcn.140125870
push rdi
push rsi
push rbx
sub rsp, 0x30
movzx r9d, byte [rcx + 0x221]
mov eax, 0xc8
mov rbx, rcx
cmp r9, r8
jbe 0x1401273f4
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
test byte [rcx + 0x224], 1
mov eax, 0x9c
je 0x1401273ec
test byte [rcx + 0x68], 4
je 0x1401274a0
cmp r9d, 8
lea rsi, [rbx + 0x1d0]
mov ecx, r9d
jae 0x140127450
and r9d, 4
jne 0x140127485
test ecx, ecx
je 0x140127440
movzx eax, byte [rbx + 0x1d0]
test cl, 2
mov byte [rdx], al
je 0x140127440
movzx eax, word [rsi + rcx - 2]
mov word [rdx + rcx - 2], ax
nop
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
mov rax, qword [rbx + 0x1d0]
lea rdi, [rdx + 8]
and rdi, 0xfffffffffffffff8
mov qword [rdx], rax
mov eax, r9d
mov rcx, qword [rsi + rax - 8]
mov qword [rdx + rax - 8], rcx
sub rdx, rdi
xor eax, eax
lea ecx, [r9 + rdx]
sub rsi, rdx
shr ecx, 3
mov ecx, ecx
rep movsq qword [rdi], qword [rsi]
jmp 0x140127442
mov eax, dword [rbx + 0x1d0]
mov dword [rdx], eax
mov eax, dword [rsi + rcx - 4]
mov dword [rdx + rcx - 4], eax
xor eax, eax
jmp 0x140127442
mov qword [rsp + 0x28], rdx
call fcn.1401264c0
movzx r9d, byte [rbx + 0x221]
mov rdx, qword [rsp + 0x28]
jmp 0x14012740c
xor r9d, r9d
jmp fcn.140127ab0

Function at 0x1400f2800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
mov eax, dword [rcx + 0x60]
cmp eax, 0xa
je 0x1400f2880
jg 0x1400f2821
cmp eax, 8
je 0x1400f2870
cmp eax, 9
jne 0x1400f2840
add rsp, 0x28
jmp 0x140126440
cmp eax, 0xb
je 0x1400f2860
cmp eax, 0x10001
jne 0x1400f2840
add rsp, 0x28
jmp 0x1401251d0
lea rcx, str.gcry_cipher_checktag:_invalid_mode__d_n
mov edx, eax
call fcn.1400ea400
mov eax, 0x47
add rsp, 0x28
ret
add rsp, 0x28
jmp fcn.1401274c0
add rsp, 0x28
jmp 0x140124070
add rsp, 0x28
jmp 0x140127fa0
mov r9d, 1
jmp fcn.140123f10
push rbx
sub rsp, 0x30
test rdx, rdx
mov rbx, rcx
je 0x1401251e2
test r8, r8
jne 0x1401251f0
mov eax, 0x2d
add rsp, 0x30
pop rbx
ret
mov rcx, qword [rcx + 0x18]
mov eax, 0x2d
cmp r8, qword [rcx + 0x20]
ja 0x1401251e7
test byte [rbx + 0xb0], 1
je 0x140125240
add rbx, 0x70
xor ecx, ecx
xor eax, eax
movzx r10d, byte [rbx + rax]
xor r9d, r9d
cmp byte [rdx + rax], r10b
setne r9b
add rax, 1
sub rcx, r9
cmp r8, rax
jne 0x140125210
cmp rcx, 1
sbb eax, eax
not eax
and eax, 0xa
jmp 0x1401251e7
mov rcx, rbx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
call fcn.140124bf0
or byte [rbx + 0xb0], 1
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
jmp 0x140125208
mov r9d, 1
jmp fcn.140125870
mov r9d, 1
jmp fcn.140127ab0
Function at 0x1400f9580
Capabilities:
Encrypt data using curve25519

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov ebx, dword [r8 + 0xc]
mov eax, 0x3f
mov rsi, rcx
mov r12, rdx
mov qword [rcx], 0
add ebx, 7
shr ebx, 3
cmp ebx, 0x20
je 0x1400f95c0
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, 0x20
mov ecx, 2
call fcn.1400ebc80
test rax, rax
mov rbp, rax
je 0x1400f96d6
lea r13, [rsp + 0x50]
xor eax, eax
mov ecx, 8
lea r8, [rsp + 0x4c]
xor r9d, r9d
xor edx, edx
mov rdi, r13
rep stosq qword [rdi], rax
mov rcx, r12
call fcn.14011e040
test rax, rax
mov r12, rax
je 0x1400f96ce
mov eax, dword [rsp + 0x4c]
mov edx, 0
mov r9, r13
mov r8, rbp
mov ecx, 0xa
mov dword [rsp + 0x20], 2
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x78], 0
sub ebx, eax
cmp eax, 0x1f
mov qword [rsp + 0x80], rax
cmova ebx, edx
mov edi, ebx
mov qword [rsp + 0x60], rdi
call fcn.1400fd3a0
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.1400ebb20
mov eax, dword [rsp + 0x3c]
mov rcx, rbp
lea rdx, [rbp + 0x1f]
lea r10, [rbp + 0xf]
test eax, eax
jne 0x1400f96c0
movzx r8d, byte [rcx]
movzx r9d, byte [rdx]
sub rdx, 1
add rcx, 1
mov byte [rcx - 1], r9b
mov byte [rdx + 1], r8b
cmp rdx, r10
jne 0x1400f9681
movzx edx, byte [rbp]
and byte [rbp + 0x1f], 0xf8
mov qword [rsi], rbp
and edx, 0x3f
or edx, 0x40
mov byte [rbp], dl
jmp 0x1400f95b0
call fcn.1400ebb20
mov eax, dword [rsp + 0x3c]
jmp 0x1400f95b0
mov rcx, rbp
call fcn.1400ebb20
call fcn.14014d590
jmp 0x1400f95b0