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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbx, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, qword [rcx]
mov edi, 0xffffffff
mov rsi, qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
nop
mov ecx, dword [0x1402a2830]
call rbx
test rax, rax
je 0x1400aede3
cmp byte [rax + 8], 0
jne 0x1400aee05
mov r8d, 1
mov edx, edi
mov rcx, rbp
call rsi
cmp eax, 0xc0
je 0x1400aedd0
cmp eax, 0xffffffff
je 0x1400aedd0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400aede3
mov rbp, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbp, rbp
je 0x1400aee34
mov qword [rsp + 0x28], rax
mov rcx, qword [rbp + 0x10]
call qword [rbp + 8]
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x28]
test rbp, rbp
jne 0x1400aee1a
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400aee4a
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.14016b5d8
jmp 0x1400aee42

Function at 0x1400aee70
Capabilities:
Allocate thread local storage

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ecx, 0x20
mov rdi, rdx
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x1400aef05
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [rbx], eax
je 0x1400aeef0
mov qword [rbx + 8], rdi
mov qword [rbx + 0x18], 0
lea rcx, [0x1402a2840]
mov qword [rsi], rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1402a21a0]
test rax, rax
mov qword [rbx + 0x10], rax
je 0x1400aeecc
mov qword [rax + 0x18], rbx
lea rcx, [0x1402a2840]
mov qword [0x1402a21a0], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov rcx, rbx
call fcn.14016b5d8
mov eax, 0xb
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call qword [sym.imp.msvcrt.dll__errno]
mov eax, dword [rax]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400aef80
Capabilities:
Set thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rsi, rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdx, rsi
mov edi, eax
mov ecx, dword [rbx]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
mov edx, 0xc
jne 0x1400aefb3
mov eax, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edx, edx
mov eax, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400aefd0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rbx]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
ret
Function at 0x1400af1a0
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 rdi, qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov ebp, 0xffffffff
mov rbx, rcx
mov r12, rdx
mov ecx, dword [0x1402a2830]
call rsi
test rax, rax
je 0x1400af1d6
cmp byte [rax + 8], 0
jne 0x1400af221
mov r8d, 1
mov edx, ebp
mov rcx, qword [rbx]
call rdi
cmp eax, 0xc0
je 0x1400af1c3
cmp eax, 0xffffffff
je 0x1400af1c3
test r12, r12
je 0x1400af1fc
mov rax, qword [rbx + 0x20]
mov qword [r12], rax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14016b5d8
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400af1d6
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af24f
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 0x1400af236
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af265
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.14016b5d8
jmp 0x1400af25d

Function at 0x1400af280
Capabilities:
Create thread

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbp, qword [0x1402840b0]
mov rsi, rcx
mov r13, rdx
mov r12, r8
mov edi, r9d
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
xor eax, eax
lea rax, [rsp + 0x30]
test rcx, rcx
mov ecx, 0x58
cmove rsi, rax
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x1400af360
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], r12
lea rcx, [rax + 0x30]
mov byte [rax + 8], 0
mov byte [rax + 9], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x28], 0
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, rbx
lea r8, [0x1400aeb40]
call qword [sym.imp.msvcrt.dll__beginthreadex]
test rax, rax
je 0x1400af370
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
mov qword [rbx], 0
mov qword [rsi], rbx
je 0x1400af343
mov edx, edi
xor edi, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rdx, qword [rsp + 0x38]
xor rdx, qword [rbp]
mov eax, edi
jne 0x1400af382
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edi, 0xc
jmp 0x1400af343
call qword [sym.imp.msvcrt.dll__errno]
mov rcx, rbx
mov edi, dword [rax]
call fcn.14016b5d8
jmp 0x1400af343
call fcn.1400c4db0
nop
nop dword [rax + rax]

Function at 0x1400af430
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x1402a2830]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rdx, rax
je 0x1400af455
movzx eax, byte [rax + 8]
mov byte [rdx + 8], 0
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret
Function at 0x1400af460
Capabilities:
Get thread local storage value

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

Function at 0x1400af490
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x30
mov ecx, dword [0x1402a2830]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400af4ac
cmp byte [rax + 8], 0
jne 0x1400af4b2
add rsp, 0x30
pop rbx
ret
movzx edx, byte [rax + 9]
test dl, dl
je 0x1400af4ac
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af4e0
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 0x1400af4c7
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af4f6
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.14016b5d8
jmp 0x1400af4ee

Function at 0x1400af520
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbx, qword [0x1402840b0]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], r8
mov esi, ecx
mov qword [rsp + 0x78], r9
mov ecx, dword [0x1402a2830]
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400af5a1
lea rdx, [rsp + 0x68]
cmp esi, 1
mov qword [rsp + 0x30], rdx
je 0x1400af600
jle 0x1400af5b3
cmp esi, 2
je 0x1400af5d0
cmp esi, 3
jne 0x1400af5a1
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 0x1400af60d
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret
test esi, esi
jne 0x1400af5a1
mov rdi, qword [rdx]
mov rcx, qword [rax + 0x10]
mov qword [rdi], rcx
mov qword [rax + 0x10], rdi
jmp 0x1400af5a1
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 0x1400af5a1
mov r9, qword [rax + 0x10]
mov r10, qword [r9]
mov qword [rax + 0x10], r10
jmp 0x1400af5a1
call fcn.1400c4db0
nop
nop dword [rax]
nop word cs:[rax + rax]
Function at 0x1400af630
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 [0x1402a2830]
call rsi
test rax, rax
je 0x1400af65b
cmp byte [rax + 8], 0
jne 0x1400af720
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
movabs r12, 0x20c49ba5e353f7cf
mov ebp, 0x7fffffff
call qword [0x14016d2c0]
mov rcx, rbx
sub rcx, rax
test rcx, rcx
jle 0x1400af710
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 [0x1402a2830]
call rsi
test rax, rax
je 0x1400af671
cmp byte [rax + 8], 0
je 0x1400af671
movzx r10d, byte [rax + 9]
test r10b, r10b
je 0x1400af671
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af6f9
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 0x1400af6e0
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af754
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 0x1400af65b
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af6f9
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 0x1400af739
jmp 0x1400af6f9
lea rcx, [rax + 0x30]
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0x28]
call fcn.14016b5d8
jmp 0x1400af707
Function at 0x1400af770
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 [0x14016d2c0]
mov ecx, dword [0x1402a2830]
add rbx, rax
mov rsi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rsi
test rax, rax
je 0x1400af7a4
cmp byte [rax + 8], 0
jne 0x1400af870
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
movabs r12, 0x20c49ba5e353f7cf
mov ebp, 0x7fffffff
nop word [rax + rax]
call qword [0x14016d2c0]
mov rcx, rbx
sub rcx, rax
test rcx, rcx
jle 0x1400af860
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 [0x1402a2830]
call rsi
test rax, rax
je 0x1400af7c0
cmp byte [rax + 8], 0
je 0x1400af7c0
movzx r10d, byte [rax + 9]
test r10b, r10b
je 0x1400af7c0
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af848
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 0x1400af82f
cmp qword [rax], 0
mov qword [rax + 0x20], 0
je 0x1400af8a4
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 0x1400af7a4
mov rbx, qword [rax + 0x10]
mov byte [rax + 8], 1
test rbx, rbx
je 0x1400af848
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 0x1400af889
jmp 0x1400af848
lea rcx, [rax + 0x30]
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0x28]
call fcn.14016b5d8
jmp 0x1400af856

Function at 0x1400afad0
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rbx, qword [0x1402840b0]
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 0x1400afb05
add rsp, 0x60
pop rbx
ret
call fcn.1400c4db0
nop
nop dword [rax + rax]
Function at 0x1400c2210
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 0x1400c2245
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.1400a2d20
test rax, rax
mov rbx, rax
je 0x1400c22a0
mov qword [rax + 0x38], rsi
mov qword [rsi + 0x60], rax
xor eax, eax
test rdi, rdi
je 0x1400c2278
mov rcx, rdi
call sub.msvcrt.dll__strdup
mov qword [rbx + 0x40], rax
lea rcx, [rbx + 0x28]
lea rdx, [0x1400c0cb0]
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 0x1400c2550
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
mov eax, 0x1038
push rsi
push rbx
call fcn.14015b2e0
sub rsp, rax
mov rbp, qword [0x1402840b0]
mov rdi, rdx
lea rdx, [0x14019f7fb]
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 0x1400c25e1
lea rbx, [rsp + 0x20]
jmp 0x1400c259f
mov rdx, rbx
mov rcx, rdi
call fcn.1400e96f0
mov r8d, 0x1000
mov r9, rsi
mov edx, 1
mov rcx, rbx
call sub.msvcrt.dll_fread
test rax, rax
mov r8, rax
jne 0x1400c2594
mov rcx, rsi
call sub.msvcrt.dll_fclose
xor eax, eax
mov rdi, qword [rsp + 0x1028]
xor rdi, qword [rbp]
jne 0x1400c25e8
add rsp, 0x1038
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, 0xffffffff
jmp 0x1400c25c7
call fcn.1400c4db0
nop
nop
Function at 0x1400c58d0
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 [0x1402840b0]
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 0x1400c5a90
mov r12, qword [rdx + 0x18]
cmp r12, 0xff
ja 0x1400c5a78
mov rcx, r12
shl rcx, 4
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x1400c5a54
test r12, r12
je 0x1400c5965
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 0x1400c5940
mov r11, qword [rbp + 8]
mov dword [rsp + 0x5c], r13d
test r11d, r11d
mov dword [rsp + 0x60], r11d
jne 0x1400c59f0
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.14016b5d8
test r13d, r13d
jne 0x1400c5a47
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 0x1400c5aa8
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.14016b5d8
test r13d, r13d
je 0x1400c59bc
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1400c5a60
mov rax, 0xffffffffffffffff
jmp 0x1400c59d0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xb
mov rax, 0xffffffffffffffff
jmp 0x1400c59d0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rax, 0xffffffffffffffff
jmp 0x1400c59d0
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
mov rax, 0xffffffffffffffff
jmp 0x1400c59d0
call fcn.1400c4db0
nop
nop
nop
Function at 0x1400c5ab0
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 [0x1402840b0]
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 0x1400c5bfa
mov rbp, qword [rdx + 0x18]
cmp rbp, 0xff
ja 0x1400c5be5
mov rcx, rbp
shl rcx, 4
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x1400c5bbd
test rbp, rbp
je 0x1400c5b45
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 0x1400c5b20
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.14016b5d8
test r12d, r12d
jne 0x1400c5bb0
mov eax, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x58]
xor rbx, qword [rsi]
jne 0x1400c5c0f
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 0x1400c5bd0
mov rax, 0xffffffffffffffff
jmp 0x1400c5b97
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xb
mov rax, 0xffffffffffffffff
jmp 0x1400c5b97
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rax, 0xffffffffffffffff
jmp 0x1400c5b97
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
mov rax, 0xffffffffffffffff
jmp 0x1400c5b97
call fcn.1400c4db0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x1400caad0
Capabilities:
Get geographical location
Query environment variable

Disassembly:
push rsi
push rbx
sub rsp, 0x28
cmp ecx, 5
ja 0x1400cab69
xor edx, edx
call fcn.1400d0c40
mov edx, 0x3b
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1400cab0a
xor edx, edx
mov ecx, 2
call fcn.1400d0c40
mov rsi, rax
mov ebx, dword [0x1402a2d68]
test ebx, ebx
je 0x1400cab27
lea rdx, [0x1402a2980]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400cab87
lea rcx, [0x1402a2e80]
mov r8d, 0x1ae
mov rdx, rsi
call sub.msvcrt.dll_strncpy
mov byte [0x1402a302e], 0
mov dword [0x1402a3030], 0
mov edx, 2
lea rcx, [0x1400c9240]
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
mov ebx, dword [0x1402a3030]
test ebx, ebx
jne 0x1400cab72
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
lea rcx, [0x1402a2980]
mov rdx, rsi
mov dword [0x1402a2d68], ebx
call sub.msvcrt.dll_strcpy
movzx ecx, bx
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.1400c93e0

Function at 0x1400caba0
Capabilities:
Query environment variable

Disassembly:
push rbx
sub rsp, 0x20
lea rcx, [0x1401a0cd8]
mov rbx, rdx
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cabbe
cmp byte [rax], 0
jne 0x1400cabed
mov rcx, rbx
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cabd0
cmp byte [rax], 0
jne 0x1400cabed
lea rcx, [0x1401a0cdf]
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400cabed
cmp byte [rax], 0
mov edx, 0
cmove rax, rdx
add rsp, 0x20
pop rbx
ret

Function at 0x1400cac10
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.1400c93e0

Function at 0x1400cac80
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.14016b518
cmp rbx, rdi
je 0x1400cad3e
add rbx, 1
lea rbp, [0x1401a0cf0]
lea r12, [0x1401a0cf4]
jmp 0x1400cacdb
cmp cl, 0x22
je 0x1400cad20
cmp cl, 0x5c
je 0x1400cad20
mov rdx, rsi
call fcn.14016b518
cmp rdi, rbx
je 0x1400cad3e
add rbx, 1
movsx ecx, byte [rbx - 1]
cmp cl, 0xa
jne 0x1400cacc0
mov r9, rsi
mov r8d, 3
mov edx, 1
mov rcx, rbp
call sub.msvcrt.dll_fwrite
cmp rdi, rbx
je 0x1400cad55
mov r9, rsi
mov r8d, 2
mov edx, 1
mov rcx, r12
call sub.msvcrt.dll_fwrite
jmp 0x1400cacd7
mov rdx, rsi
mov ecx, 0x5c
call fcn.14016b518
movsx ecx, byte [rbx - 1]
mov rdx, rsi
call fcn.14016b518
cmp rdi, rbx
jne 0x1400cacd7
mov rdx, rsi
mov ecx, 0x22
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14016b518
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x1400cd820
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 0x1400cd8b0
lea rdx, [rsp + 0x28]
mov r8, rbx
xor ecx, ecx
mov r9, rsi
call fcn.1400cb090
test rax, rax
mov rbx, rax
je 0x1400cd883
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.14016b5d8
cmp rsi, qword [rsp + 0x28]
je 0x1400cd890
mov eax, 0xffffffff
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
cmp rsi, 0x7fffffff
mov eax, esi
jbe 0x1400cd888
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x84
jmp 0x1400cd883
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14015d1b0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400e96f0
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.1400eaee0
test eax, eax
jne 0x1400e9711
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.1400fcba0

Function at 0x1400ea080
Capabilities:
Write file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x1402a3d30]
mov ebx, ecx
mov rsi, rdx
mov rdi, r8
test rax, rax
je 0x1400ea0d0
mov r9, r8
mov r8, rdx
mov edx, ecx
mov rcx, qword [0x1402a3d28]
call rax
cmp ebx, 0x28
je 0x1400ea1c9
cmp ebx, 0x32
je 0x1400ea1c9
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp ecx, 0x1e
je 0x1400ea160
jle 0x1400ea150
cmp ecx, 0x32
je 0x1400ea121
cmp ecx, 0x64
je 0x1400ea1a0
cmp ecx, 0x28
je 0x1400ea170
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 0x1400ea0ad
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 0x1400ea10e
cmp ecx, 0xa
je 0x1400ea160
cmp ecx, 0x14
je 0x1400ea160
test ecx, ecx
jne 0x1400ea0f2
nop
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
jmp 0x1400ea10e
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 0x1400ea10e
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 0x1400ea10e
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.1400f0eb0
call fcn.1400f0250
call sub.msvcrt.dll_abort
nop
nop