joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000db00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movsxd rax, dword [rcx + 0x3c]
mov r12, rdx
mov rdx, rcx
mov ecx, dword [rax + rcx + 0x88]
xor eax, eax
add rcx, rdx
mov dword [rbp - 0x2c], eax
mov qword [rbp - 0x28], rcx
mov r8d, dword [rcx + 0x1c]
mov r9d, dword [rcx + 0x20]
add r8, rdx
mov r10d, dword [rcx + 0x24]
add r9, rdx
add r10, rdx
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], r10
cmp dword [rcx + 0x18], eax
jbe 0x14000dd2e
mov word [rbp + 0x50], 0x6b4d
mov word [rbp + 0x58], 0x6b4d
nop
mov esi, dword [r9 + rax*4]
lea rcx, [rbp + 0x50]
movzx eax, word [r10 + rax*2]
add rsi, rdx
xor edi, edi
mov r15d, dword [r8 + rax*4]
add r15, rdx
mov qword [rbp - 8], r15
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000dbb4
nop dword [rax]
lea rcx, [rbp + 0x50]
inc rdi
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rdi + rsi], cl
jne 0x14000dba0
lea rcx, [rbp + 0x58]
xor ebx, ebx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [r12], cl
je 0x14000dbe5
nop dword [rax + rax]
lea rcx, [rbp + 0x58]
inc rbx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rbx + r12], cl
jne 0x14000dbd0
cmp rdi, rbx
jne 0x14000dd02
mov r13, rsi
mov word [rbp - 0x50], 0x6b4d
sub r13, r12
mov r14, r12
nop dword [rax]
lea rcx, [rbp - 0x50]
xor ebx, ebx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000dc26
lea rcx, [rbp - 0x50]
inc rbx
call fcn.140001770
movzx ecx, byte [rax]
cmp byte [rbx + rsi], cl
jne 0x14000dc12
mov rax, r14
sub rax, r12
dec rbx
cmp rax, rbx
jae 0x14000dd28
movsx r15d, byte [r14 + r13]
lea rcx, [rbp - 0x4e]
mov dword [rbp - 0x4e], 0x6b002c
call fcn.140002490
movzx eax, word [rax]
cmp r15d, eax
jl 0x14000dc98
lea rcx, [rbp - 0x4a]
mov dword [rbp - 0x4a], 0x6b0037
call fcn.140002490
movzx ecx, word [rax]
cmp r15d, ecx
jg 0x14000dc98
lea rcx, [rbp - 0x46]
mov dword [rbp - 0x46], 0x6b002c
mov dword [rbp - 0x42], 0x6b000c
call fcn.140002490
lea rcx, [rbp - 0x42]
movzx ebx, byte [rax]
call fcn.140002490
movzx ecx, byte [rax]
sub cl, bl
add r15b, cl
movsx edi, byte [r14]
lea rcx, [rbp - 0x3e]
mov dword [rbp - 0x3e], 0x6b002c
call fcn.140002490
movzx eax, word [rax]
cmp edi, eax
jl 0x14000dcf5
lea rcx, [rbp - 0x3a]
mov dword [rbp - 0x3a], 0x6b0037
call fcn.140002490
movzx ecx, word [rax]
cmp edi, ecx
jg 0x14000dcf5
lea rcx, [rbp - 0x36]
mov dword [rbp - 0x36], 0x6b002c
mov dword [rbp - 0x32], 0x6b000c
call fcn.140002490
lea rcx, [rbp - 0x32]
movzx ebx, byte [rax]
call fcn.140002490
movzx ecx, byte [rax]
sub cl, bl
add dil, cl
cmp r15b, dil
jne 0x14000dd02
inc r14
jmp 0x14000dc00
mov eax, dword [rbp - 0x2c]
mov rcx, qword [rbp - 0x28]
inc eax
mov dword [rbp - 0x2c], eax
cmp eax, dword [rcx + 0x18]
jae 0x14000dd2e
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
jmp 0x14000db70
mov rax, qword [rbp - 8]
jmp 0x14000dd30
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18000c6cc
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
movsxd r8, dword [0x18000003c]
lea rsi, [0x180000000]
add r8, rsi
mov rbx, rdx
mov rdi, rcx
cmp dword [r8 + 0x84], 0xd
jbe 0x18000c744
mov r10d, dword [r8 + 0xf0]
xor r9d, r9d
test r10d, r10d
je 0x18000c744
movzx ecx, word [r8 + 0x14]
movzx r11d, word [r8 + 6]
add rcx, 0x18
mov r10d, dword [r10 + rsi + 0xc]
add rcx, r8
test r11d, r11d
je 0x18000c744
mov eax, dword [rcx + 0xc]
cmp r10d, eax
jb 0x18000c738
mov edx, dword [rcx + 8]
add eax, edx
cmp r10d, eax
jb 0x18000c756
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x18000c726
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov dword [rdi], edx
mov eax, dword [rcx + 0x24]
mov dword [rbx], eax
mov eax, dword [rcx + 0xc]
add rax, rsi
jmp 0x18000c746

Function at 0x18000cc10
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18000cc38
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x18000cc38
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140005870
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x1400058a7
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
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 rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x1400058c8
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1400058ca
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140005923
test ecx, ecx
jle 0x140005903
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
sub rbx, rbp
add r14, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140005923
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140005923
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 + 0x30]
sub rsi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x140005950
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140005972
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x140005988
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 rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1400059a4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1400059a6
xor ecx, ecx
mov qword [rsp + 0x20], rdi
movsxd rax, ecx
test ecx, ecx
je 0x1400059e0
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
sub rbx, rdi
add r14, rdi
mov r8, rbx
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140005a87
mov r9, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r9], rax
jne 0x140005a1b
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x140005a61
nop word [rax + rax]
mov r9, qword [rsi + 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 0x140005aa0
cmp rbx, rax
ja 0x140005a30
mov r8, rdi
test rdi, rdi
je 0x140005a87
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r8, rdi
sub r8, rax
sub rbp, r8
mov rdi, qword [rsp + 0x20]
mov rax, rbp
mov rbx, qword [rsp + 0x28]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rbp, rbx
jmp 0x140005a8a
Function at 0x140005eb0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140024010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x140005edd
xor eax, eax
jmp 0x140006032
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x140005f08
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x140005f08
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], dil
mov eax, edi
jmp 0x140006032
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x140006025
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x140005f4b
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140005f76
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000602a
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 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 0x140005fe5
sub eax, 1
je 0x140005fe5
cmp eax, 2
jne 0x140006025
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000602a
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140006013
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x140006025
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov eax, edi
jne 0x14000602a
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140010450
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140006430
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140024010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140006503
cmp byte [rcx + 0x71], 0
je 0x140006503
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x1400064ff
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 0x1400064c4
sub eax, 1
je 0x1400064c8
cmp eax, 2
jne 0x1400064ff
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140010450
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x1400064f6
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 0x1400064ff
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1400064ac
xor al, al
jmp 0x1400064ac
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140010450
add rsp, 0x60
pop rbx
ret
Function at 0x14000e0a0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140024010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x20], rcx
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x14000e1b3
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x14000e1b3
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
xor edx, edx
mov qword [rsp + 0x50], rdx
mov ecx, dword [rax + rsi + 0xb0]
test ecx, ecx
jne 0x14000e118
mov qword [rdi], rdx
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rdx
jmp 0x14000e1c0
lea rbx, [rsi + rcx]
mov ebp, dword [rax + rsi + 0xb4]
add rbp, rbx
mov rcx, qword [rsp + 0x48]
cmp rbx, rbp
jae 0x14000e1a1
mov r8d, dword [rbx + 4]
test r8d, r8d
je 0x14000e1a1
mov eax, dword [rbx]
add rax, rsi
mov qword [rsp + 0x28], rax
lea rax, [rbx + 8]
mov qword [rsp + 0x30], rax
lea rax, [r8 - 8]
shr rax, 1
mov dword [rsp + 0x38], eax
cmp rcx, rdx
je 0x14000e17a
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rsp + 0x38]
movsd qword [rcx + 0x10], xmm1
add rcx, 0x18
mov qword [rsp + 0x48], rcx
jmp 0x14000e196
lea r8, [rsp + 0x28]
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14000e800
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rbx + 4]
add rbx, rax
cmp rbx, rbp
jb 0x14000e130
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
jmp 0x14000e1c0
xor edx, edx
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rdx
mov rax, rdi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140010450
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x14000f790
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x50
mov rax, qword [0x140024010]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
lea r9, [rsp + 0x20]
mov r14, rcx
mov dword [rsp + 0x20], ebp
xor r8d, r8d
xor edx, edx
mov ebx, ebp
lea ecx, [rbp + 0xb]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x14000f81e
nop dword [rax]
test rbx, rbx
je 0x14000f7e6
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, rax
mov ecx, 0xb
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
je 0x14000f7d0
test eax, eax
jns 0x14000f83f
test rbx, rbx
je 0x14000f844
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
jmp 0x14000f936
test rbx, rbx
jne 0x14000f84b
xor eax, eax
jmp 0x14000f936
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rdi
mov edi, ebp
cmp dword [rbx], ebp
jbe 0x14000f916
mov esi, edi
lea rdx, [rbx + 0x30]
imul rax, rsi, 0x128
mov qword [rsp + 0x28], rbp
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], 0xf
movzx ecx, word [rax + rbx + 0x2e]
add rcx, rax
add rdx, rcx
inc r8
cmp byte [rdx + r8], bpl
jne 0x14000f894
lea rcx, [rsp + 0x28]
call fcn.1400068e0
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x14000f8b4
mov rdx, qword [r14]
cmp qword [rsp + 0x40], 0x10
lea rcx, [rsp + 0x28]
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x14000f94c
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14000f90c
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f907
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000f99d
call fcn.140010470
inc edi
cmp edi, dword [rbx]
jb 0x14000f862
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140010450
add rsp, 0x50
pop r14
pop rbp
pop rbx
ret
imul rax, rsi, 0x128
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
mov rdi, qword [rax + rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14000f9a9
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f9a4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000f9a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140010470
mov rax, rdi
jmp 0x14000f929
Function at 0x180005d20
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Get kernel32 base address
Read .ini file

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x18004a020]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbx, rcx
cmp edx, 1
jne 0x180005f53
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax + 0x10]
mov rax, qword [rdx + 0x30]
nop word [rax + rax]
cmp rax, rbx
je 0x180005d73
mov rdx, qword [rdx]
mov rax, qword [rdx + 0x30]
test rax, rax
jne 0x180005d60
jmp 0x180005db6
mov rcx, qword [rdx + 8]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x10]
mov qword [rcx], rax
mov rcx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x18]
mov qword [rcx + 8], rax
mov rcx, qword [rdx + 0x28]
mov rax, qword [rdx + 0x20]
mov qword [rcx], rax
mov rcx, qword [rdx + 0x20]
mov rax, qword [rdx + 0x28]
mov qword [rcx + 8], rax
mov rcx, rbx
call fcn.1800011f0
cmp qword [0x18004cbd0], 0
mov qword [0x18004cb80], rbx
je 0x180005efb
mov ecx, 0x104
mov qword [rsp + 0x78], rdi
call fcn.180011458
mov rdi, rax
lea r8, [0x180043984]
lea rax, str.c:EAC.ini
mov r9, rdi
mov qword [rsp + 0x28], rax
lea rdx, [0x1800439e8]
lea rcx, str.Configure
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], send
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180005e40
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.1800074f0
mov rdx, qword [0x18004ac40]
mov rdi, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180005e9d
mov rcx, qword [0x18004ac28]
inc rdx
cmp rdx, 0x1000
jb 0x180005e98
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f6b
mov rcx, r8
call fcn.180011450
movups xmm0, xmmword [rsp + 0x38]
lea r9, [0x18004ac28]
movups xmm1, xmmword [rsp + 0x48]
movq rcx, xmm0
movups xmmword [0x18004ac28], xmm0
movdqa xmm0, xmm1
movq r8, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
movups xmmword [0x18004ac38], xmm1
cmovae r9, rcx
test r8, r8
jne 0x180005ef4
lea rdx, [0x180043783]
mov rcx, r9
call fcn.180014010
test eax, eax
je 0x180005efb
call fcn.180005980
jmp 0x180005f00
call fcn.180005820
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x180005f53
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov edx, 0x888
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor edx, edx
mov r8d, 0x888
mov rcx, rbx
call fcn.180013dd0
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov edx, 0x888
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180011430
add rsp, 0x60
pop rbx
ret
call fcn.180019bb8
int3
Function at 0x1800099b0
Capabilities:
Connect socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x18004a020]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov edi, dword [0x18004cbc0]
mov edx, 1
mov rbx, rcx
mov esi, 2
mov ecx, esi
lea r8d, [rdx + 5]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [0x18004cbc8], rax
test rax, rax
jne 0x180009a3c
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180009a33
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x180009a2e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180009b39
mov rcx, r8
call fcn.180011450
xor edi, edi
xor al, al
jmp 0x180009b0d
movzx ecx, di
mov word [rsp + 0x20], si
call qword [sym.imp.WS2_32.dll_htons]
cmp qword [rbx + 0x18], 0x10
mov rcx, rbx
mov word [rsp + 0x22], ax
jb 0x180009a5c
mov rcx, qword [rbx]
call qword [sym.imp.WS2_32.dll_inet_addr]
mov rcx, qword [0x18004cbc8]
lea rdx, [rsp + 0x20]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x24], eax
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x180009ad3
mov rcx, qword [0x18004cbc8]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rdx, qword [rbx + 0x18]
xor edi, edi
mov qword [0x18004cbc8], rdi
cmp rdx, 0x10
jb 0x180009acf
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x180009aca
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180009b39
mov rcx, r8
call fcn.180011450
xor al, al
jmp 0x180009b0d
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180009b09
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x180009b04
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180009b39
mov rcx, r8
call fcn.180011450
xor edi, edi
mov al, 1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], send
mov byte [rbx], dil
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180011430
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
call fcn.180019bb8
int3
Function at 0x180009b40
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
mov ecx, 0xa00027
call fcn.180011460
test rax, rax
je 0x180009d19
lea rbp, [rax + 0x27]
and rbp, 0xffffffffffffffe0
mov qword [rbp - 8], rax
mov qword [rsp + 0x38], rbp
lea r15, [rbp + 0xa00000]
mov qword [rsp + 0x48], r15
xor edx, edx
mov r8d, 0xa00000
mov rcx, rbp
call fcn.180013dd0
mov qword [rsp + 0x40], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov r8d, 0xa00000
mov rdx, rbp
mov rcx, qword [0x18004cbc8]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x180009c72
movsxd rsi, eax
mov rdi, rbp
mov rbx, qword [rsp + 0x28]
cmp rbx, qword [rsp + 0x30]
je 0x180009c0b
movzx eax, byte [rdi]
mov byte [rbx], al
mov rbx, qword [rsp + 0x28]
inc rbx
mov qword [rsp + 0x28], rbx
jmp 0x180009c20
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.18000e4b0
mov rbx, qword [rsp + 0x28]
inc rdi
sub rsi, 1
jne 0x180009bf0
lea rax, [rsp + 0x20]
cmp r14, rax
je 0x180009c6e
mov rsi, qword [rsp + 0x20]
sub rbx, rsi
mov rdi, qword [r14]
mov rax, qword [r14 + 0x10]
sub rax, rdi
cmp rbx, rax
jbe 0x180009c58
mov rdx, rbx
mov rcx, r14
call fcn.18000e190
mov rdi, qword [r14]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.180013720
lea rax, [rdi + rbx]
mov qword [r14 + 8], rax
mov bl, 1
jmp 0x180009c7b
mov rax, qword [r14]
mov qword [r14 + 8], rax
xor bl, bl
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x180009cc5
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009cae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009d13
call fcn.180011450
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
sub r15, rbp
cmp r15, 0x1000
jb 0x180009ce9
add r15, 0x27
mov rdx, qword [rbp - 8]
sub rbp, rdx
lea rcx, [rbp - 8]
cmp rcx, 0x1f
ja 0x180009d19
mov rbp, rdx
mov rdx, r15
mov rcx, rbp
call fcn.180011450
movzx eax, bl
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret
call fcn.180019bb8
nop
call fcn.180019bb8
int3