joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401305a6
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, 0xc97ffcd6
jns 0x140130824
jmp 0x140130b47
mov r10d, r8d
mov edx, 0xc5606cfd
lea rax, [r11 + r10*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
jmp 0x140130792
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
jmp 0x140130818
jmp 0x1401306f8
jne 0x140130716
cmp edx, 0xdafbc378
je 0x14013082b
inc r8d
jmp 0x140130760
inc rcx
test al, al
je 0x14013078a
jmp 0x140130713
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jmp 0x140130778
mov rax, qword gs:[0x60]
mov r8d, r15d
mov ecx, dword [rbx + r9 + 0x24]
add rcx, r9
je 0x14013084c
jne 0x14013084c
ror edi, 0x69
rol r10d, 0xc
movabs r14, 0x305c5ecb0a332feb
test r15d, 0xae571082
cmp r8, rbx
call rax
ret
jmp 0x14013087d
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140130956
nop dword [rax]
movsx eax, al
jmp 0x140130892
movzx edx, word [rcx + r10*2]
mov ecx, dword [rbx + r9 + 0x1c]
add rcx, r9
mov edi, dword [rcx + rdx*4]
jmp 0x140130926
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
jne 0x1401308dd
je 0x1401308dd
popfq
mul r11
lea edx, [rcx + 0xb227]
lea r14d, [rbp - 0x5c2c]
jmp 0x14013093e
xchg rbx, rcx
mov r9, qword [rcx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
mov r11d, dword [rbx + r9 + 0x20]
jmp 0x14013096b
xchg r13, rcx
mov r13, qword [rax + 0x18]
xchg rcx, r13
add rdi, r9
xchg rbp, rax
mov rbp, qword [rcx + 0x10]
jmp 0x14013095e
movzx eax, byte [rcx - 1]
test al, al
jne 0x140130875
cmp edx, 0xdd3be21f
je 0x140130985
inc r8d
jmp 0x140130970
xchg rbp, rax
xchg rcx, rbx
mov rbx, qword [rax]
jmp 0x140130909
nop dword [rax + rax]
mov r10d, r8d
mov edx, 0x3867ddcb
lea rax, [r11 + r10*4]
mov ecx, dword [rax + r9]
jmp 0x140130861
mov ecx, dword [rbx + r9 + 0x24]
xorps xmm0, xmm0
add rcx, r9
xchg r15, rdi
mov qword [rsp + 0x20], rdi
xchg rdi, r15
movzx edx, word [rcx + r10*2]
jmp 0x1401309b3
mov ecx, dword [rbx + r9 + 0x1c]
add rcx, r9
mov r14d, dword [rcx + rdx*4]
lea rdx, [rbp + 0x178]
jmp 0x1401309fc
mov qword [rbp + 0x180], rdx
xchg rdx, r15
lea rcx, [rsp + 0x30]
xchg r11, r15
mov qword [rbp + 0x188], r11
xchg r15, r11
xchg r14, rbp
jmp 0x140130a48
add r14, r9
mov qword [rbp + 0x178], 0x30
mov r9d, 0x64
mov qword [rbp + 0x190], r15
mov r8d, r9d
xchg r15, rdx
jmp 0x1401309d8
movdqu xmmword [r14 + 0x198], xmm0
xchg rbp, r14
xchg r15, r11
mov qword [rsp + 0x30], r11
xchg r11, r15
jmp 0x140130b0a
call rdi
test eax, eax
jne 0x14013154a
mov rax, qword [rsp + 0x30]
dec rax
jmp 0x140130d59
movabs al, byte [0xe0ff2dd6b1000001]
lea r9d, [rdi + 0xc3ea]
lea esi, [rcx - 0x6b78]
neg r9
ret 0x18
xchg r15, rcx
mov qword [rsp + 0x40], rcx
xchg rcx, r15
cmp r10, rcx
jmp 0x140130d8f
cmp rax, 0xfffffffffffffffd
ja 0x14013154a
xchg r10, r14
mov r14, qword [rbp + 0x120]
xchg r14, r10
mov rcx, qword [rbp + 0x118]
add rcx, r10
jne 0x140130d86
je 0x140130d86
xor ebp, 0x5aba6bcd
movabs rbx, 0x58286affffff39e9
ret
jmp 0x140130cc4
jae 0x140130a6d
movabs r11, 0x47ae147ae147ae15
nop
Function at 0x1400265c0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140263800]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140026693
cmp byte [rcx + 0x71], 0
je 0x140026693
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14002668f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140026654
sub eax, 1
je 0x140026658
cmp eax, 2
jne 0x14002668f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401dcc50
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140026686
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14002668f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14002663c
xor al, al
jmp 0x14002663c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401dcc50
add rsp, 0x60
pop rbx
ret
Function at 0x14002adb0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x140263800]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov esi, edx
mov rdi, rcx
cmp edx, 0xffffffff
jne 0x14002addd
xor eax, eax
jmp 0x14002af46
mov qword [rsp + 0xa0], rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x14002ae1d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
cmp rax, rbx
jae 0x14002ae1d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], sil
mov eax, esi
jmp 0x14002af3e
cmp qword [rdi + 0x80], 0
je 0x14002af39
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rdi + 0x70]
cmp rax, rcx
jne 0x14002ae57
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r9, qword [rdi + 0x90]
mov r8, rdx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x14002ae82
mov rdx, qword [rdi + 0x80]
movsx ecx, sil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14002af3e
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14002aef1
sub eax, 1
je 0x14002aef1
cmp eax, 2
jne 0x14002af39
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rdi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14002af3e
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbx, rax
je 0x14002af1f
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x14002af39
lea rax, [rsp + 0x50]
mov byte [rdi + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, esi
mov eax, ecx
jmp 0x14002af3e
mov eax, 0xffffffff
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401dcc50
mov rsi, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x14002e860
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rsi, r8
mov r14, rdx
mov rbp, rcx
test r8, r8
jg 0x14002e882
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14002e898
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x28], rbx
mov rbx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
test rax, rax
je 0x14002e8e2
cmp rax, rsi
mov rdi, rsi
mov rcx, rbp
cmovb rdi, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, rdi
mov rcx, r14
mov rdx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, rbp
add r14, rdi
sub rbx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
cmp qword [rbp + 0x80], 0
mov rdi, rbx
je 0x14002e951
mov rcx, rbp
call fcn.1400266d0
cmp rbx, 0xfff
jbe 0x14002e931
mov r9, qword [rbp + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
add r14, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x14002e96a
cmp rbx, rax
ja 0x14002e900
test rdi, rdi
je 0x14002e951
mov r9, qword [rbp + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
sub rsi, rdi
mov rbx, qword [rsp + 0x28]
mov rax, rsi
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rsi, rbx
jmp 0x14002e954
Function at 0x14002e970
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x14002e998
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov rbp, rax
test rbx, rbx
jle 0x14002ea0c
test rax, rax
jle 0x14002e9ec
cmp rbx, rax
mov rcx, rdi
cmovl rbp, rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebp
mov rcx, rdi
add r14, rbp
sub rbx, rbp
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
test rbx, rbx
jle 0x14002ea0c
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14002ea0c
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x40]
sub rsi, rbx
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
Function at 0x14002ea30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x20
mov r12, rdx
mov rbx, rcx
call fcn.1401dbd20
movzx edi, word [rbx]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov r8, qword [rax + 0x18]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov r10, qword [r8 + 0x20]
mov r11, qword [r8 + 0x28]
nop word [rax + rax]
mov r8, qword [r10 + 0x50]
xor ecx, ecx
cmp word [r8], cx
je 0x14002ea8c
mov rax, r8
nop
inc ecx
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x14002ea80
xor edx, edx
test di, di
je 0x14002eaac
mov rax, rbx
nop word [rax + rax]
inc edx
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x14002eaa0
cmp ecx, edx
jne 0x14002ebb8
xor edx, edx
movsxd r9, ecx
test ecx, ecx
jle 0x14002eaeb
mov rax, rbx
sub r8, rbx
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rax]
cmp word [r8 + rax], cx
jne 0x14002ebb8
add rdx, 2
add rax, 4
cmp rdx, r9
jl 0x14002ead0
mov r11, qword [r10 + 0x20]
test r11, r11
je 0x14002ebc4
movsxd rax, dword [r11 + 0x3c]
xor ebx, ebx
movsxd rcx, dword [rax + r11 + 0x88]
add rcx, r11
movsxd r14, dword [rcx + 0x1c]
movsxd rsi, dword [rcx + 0x20]
add r14, r11
movsxd r15, dword [rcx + 0x24]
add rsi, r11
movsxd rdi, dword [rcx + 0x18]
add r15, r11
test rdi, rdi
jle 0x14002ebc4
movzx ebp, byte [r12]
xor r10d, r10d
nop dword [rax]
nop word [rax + rax]
movsxd r8, dword [rsi + r10*4]
xor edx, edx
add r8, r11
cmp byte [r8], dl
je 0x14002eb5c
mov rax, r8
inc edx
lea rax, [rax + 1]
cmp byte [rax], 0
jne 0x14002eb51
xor ecx, ecx
test bpl, bpl
je 0x14002eb7b
mov rax, r12
nop word [rax + rax]
inc ecx
lea rax, [rax + 1]
cmp byte [rax], 0
jne 0x14002eb70
cmp edx, ecx
jne 0x14002ebe3
movsxd r9, edx
test edx, edx
jle 0x14002eba7
mov rcx, r12
sub r8, r12
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14002ebe3
inc rcx
mov rax, rcx
sub rax, r12
cmp rax, r9
jl 0x14002eb90
movsxd rax, ebx
movsx rcx, word [r15 + rax*2]
movsxd rax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002ebc6
mov r10, qword [r10]
cmp r10, r11
jne 0x14002ea70
xor eax, eax
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop r12
pop rdi
pop rbx
ret
inc ebx
inc r10
cmp r10, rdi
jl 0x14002eb40
jmp 0x14002ebc4
Function at 0x1401dbdb4
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1401dbdee
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x1401dbdf3
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x1401dbe3c
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x1401e4590]
cmp byte [rcx + rax], 0
je 0x1401dbe3c
dec r8
sub rdx, 1
jne 0x1401dbe22
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x1401dd464
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1401dd4ae
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1401dd4ae
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1401dd4ae
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1401dd4ae
cmp dword [rcx + 0x84], 0xe
jbe 0x1401dd4ae
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1401dd4b0
xor al, al
add rsp, 0x28
ret
Function at 0x140002884
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400028ce
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400028ce
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400028ce
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400028ce
cmp dword [rcx + 0x84], 0xe
jbe 0x1400028ce
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400028d0
xor al, al
add rsp, 0x28
ret
Function at 0x1800015b0
Capabilities:
Clear file content

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rax, qword [rcx]
inc rax
cmp rax, 2
jae 0x1800015d8
xor edi, edi
jmp 0x1800016d2
mov ebx, r8d
mov r15, rdx
mov rsi, rcx
mov ecx, 0xe5f63bad
call fcn.18002f910
cmp eax, ebx
jb 0x1800016cc
mov rcx, qword [rsi]
call fcn.180008840
mov r14, rax
mov rcx, rax
call fcn.18003f8a0
test al, 1
je 0x1800016cc
mov rcx, qword [rsi]
xor edi, edi
xor edx, edx
mov r8d, 2
call fcn.18002b4d0
test al, al
je 0x1800016ce
mov rcx, qword [rsi]
call fcn.180008840
cmp rax, 0xffffffffffffffff
je 0x180001714
mov r12, rax
mov dword [rbp + 4], 0
lea r13, [rbp - 8]
mov edx, 5
mov rcx, r13
call fcn.180020080
mov eax, dword [rsi + 0x10]
xor eax, ebx
mov dword [rbp - 8], eax
mov rdi, qword [rsi]
lea rcx, [0x180059f34]
call fcn.18001cc90
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov rcx, rdi
mov rdx, r13
mov r8d, 5
call rax
test eax, eax
je 0x1800016e5
cmp dword [rbp + 4], 5
jne 0x1800016e5
mov rdi, qword [rsi]
lea rcx, [0x180059f34]
call fcn.18001cc90
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov rcx, rdi
mov rdx, r15
mov r8d, ebx
call rax
test eax, eax
je 0x1800016e5
cmp dword [rbp + 4], ebx
jne 0x1800016e5
mov cl, 0xac
call fcn.1800086c0
mov edi, eax
jmp 0x180001716
xor edi, edi
and dil, 1
mov eax, edi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rsi]
xor edi, edi
mov rdx, r12
xor r8d, r8d
call fcn.18002b4d0
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov rbx, qword [rsi]
lea rcx, [0x18005b304]
call fcn.18001cc90
mov rcx, rbx
call rax
jmp 0x180001716
xor edi, edi
mov rbx, qword [rsi]
lea rcx, [0x18005bf4c]
call fcn.18001cc90
mov rcx, rbx
call rax
mov rcx, qword [rsi]
mov rdx, r14
xor r8d, r8d
call fcn.18002b4d0
jmp 0x1800016ce

Function at 0x180002260
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov r14, r8
mov r15, rdx
mov rbx, rcx
lea rcx, [0x180059a14]
call fcn.18001cc90
lea rcx, [rbp + 4]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
xor esi, esi
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
test eax, eax
je 0x180002352
cmp dword [rbp + 4], 0
je 0x180002357
lea rsi, [rbp - 0x18]
mov rcx, rsi
call fcn.1800425b0
mov edx, dword [rbp + 4]
mov rcx, rsi
call fcn.180041d00
mov rcx, rsi
call fcn.180041780
mov rdi, rax
mov rcx, rsi
call fcn.180040ec0
mov qword [rsp + 0x20], 0
mov r9, rbp
mov rcx, rbx
mov rdx, rax
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, 0xffffffff
test eax, eax
je 0x180002347
mov edi, dword [rbp]
lea rcx, [rbp - 0x18]
call fcn.180040ec0
mov rcx, rax
mov edx, edi
mov r8, r14
call r15
test al, al
je 0x180002347
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.180002260
mov esi, eax
test eax, eax
js 0x180002347
mov edi, dword [rbp + 4]
add edi, esi
mov ecx, 0xe3b63bac
call fcn.18002f910
mov esi, edi
lea rcx, [rbp - 0x18]
call fcn.180042cc0
jmp 0x180002357
mov esi, 0xffffffff
mov eax, esi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
Function at 0x180004a90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r14, r8
test edx, edx
jle 0x180004afd
mov edi, edx
mov rbx, rcx
xor esi, esi
lea r15, [0x18006b020]
nop word cs:[rax + rax]
movsxd rsi, esi
imul rax, rsi, 0x78787879
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x23
add eax, ecx
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, esi
sub eax, ecx
cdqe
movzx eax, byte [rax + r15]
xor al, byte [rbx + rsi]
mov byte [r14 + rsi], al
xor ecx, ecx
call fcn.180021ca0
sub esi, eax
cmp esi, edi
jl 0x180004ac0
mov rax, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret

Function at 0x1800070c0
Capabilities:
Clear file content

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rdi, rcx
mov edx, dword [rcx + 0x28]
mov rcx, qword [rcx + 0x30]
xor esi, esi
xor r8d, r8d
call fcn.18002b4d0
test al, al
je 0x1800070f7
mov rcx, qword [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, eax
call fcn.18002e310
mov esi, eax
and sil, 1
mov eax, esi
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret

Function at 0x18000b2c0
Capabilities:
Suspend thread

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rdi, rcx
lea rsi, [rcx + 8]
mov rcx, rsi
call fcn.1800417b0
test al, al
jne 0x18000b309
mov ebx, 1
lock xadd dword [rdi + 4], ebx
mov ecx, 0xe3b63bac
call fcn.18002f910
add eax, ebx
jne 0x18000b309
mov rcx, rsi
call fcn.180040ec0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
nop
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop rbp
ret

Function at 0x18000ba70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
test edx, edx
je 0x18000bac2
mov edi, edx
mov rbx, rcx
mov edx, 0xffffffff
xor eax, eax
lea r14, [0x18006eeb0]
mov esi, edx
nop dword [rax + rax]
movsxd rcx, eax
xor dl, byte [rbx + rcx]
shr esi, 8
movzx eax, dl
xor esi, dword [r14 + rax*4]
call fcn.180002af0
add eax, 0xf3fd3abb
mov edx, esi
cmp eax, edi
jb 0x18000baa0
jmp 0x18000bac7
mov esi, 0xffffffff
mov ecx, 0xc9ad9a92
call fcn.18002f910
mov edi, eax
mov ecx, 0xc9ad9a92
call fcn.18002f910
xor edi, 0xd5e45ec0
and esi, edi
xor esi, edi
mov eax, esi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret

Function at 0x180013b30
Capabilities:
Create thread

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rbx, rdx
mov rsi, rcx
call fcn.180047c10
mov ecx, sendto
call fcn.180023790
mov rdi, rax
mov rcx, rax
mov rdx, rbx
call fcn.180020650
lea rax, [rsi + 8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
lea r8, [0x180015110]
mov edx, 0x20000
xor ecx, ecx
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi], rax
test rax, rax
jne 0x180013b98
mov rcx, rdi
call fcn.180032050
mov rax, rsi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop rbp
ret
Function at 0x180014650
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rdi, r9
mov r15, r8
mov rbx, rdx
mov r14d, dword [rbp + 0x60]
mov rcx, r8
call fcn.180040ec0
add rax, 0x28
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], setsockopt
xor esi, esi
mov rcx, rbx
mov rdx, rdi
mov r8d, r14d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x1800146bf
lea rcx, [0x180059e78]
call fcn.18001cc90
call rax
mov esi, 0xffffffff
mov edi, 0xfffffffe
cmp eax, 0x2733
je 0x1800146cb
mov ecx, 0xe3b63bac
call fcn.18002f910
mov edi, esi
mov rcx, r15
call fcn.18004b100
mov eax, edi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret

Function at 0x180014960
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov r14, r8
mov r15, rdx
mov rbx, rcx
lea rsi, [rbp - 0x18]
mov rcx, rsi
call fcn.1800425b0
mov edx, 0x400
mov rcx, rsi
call fcn.180041d00
mov rcx, rsi
call fcn.180041780
mov rdi, rax
mov rcx, rsi
call fcn.180040ec0
mov rcx, rax
mov edx, edi
mov r8, r15
call rbx
mov esi, eax
test eax, eax
jle 0x1800149f6
lea rcx, [rbp - 0x18]
call fcn.180040ec0
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov rcx, r14
mov rdx, rax
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1800149f1
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.180014960
mov esi, eax
jmp 0x1800149f6
mov esi, 0xffffffff
lea rcx, [rbp - 0x18]
call fcn.180042cc0
mov eax, esi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret