joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140017280
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x40
xor eax, eax
mov ebx, ecx
xor ecx, ecx
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400172dc
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400172dc
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400172dc
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400172dc
cmp dword [rcx + 0x84], 0xe
jbe 0x1400172dc
cmp dword [rcx + 0xf8], 0
je 0x1400172dc
mov ecx, ebx
call fcn.140017050
lea rax, [rsp + 0x68]
mov byte [rsp + 0x58], 0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rcx, [0x1400222d8]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
call fcn.140016ed0
cmp dword [rsp + 0x60], 0
jne 0x14001731f
mov ecx, ebx
call fcn.140017000
int3
add rsp, 0x40
pop rbx
ret

Function at 0x140017a60
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x140022080]
xor rax, rsp
mov qword [rbp + 0x4e0], rax
mov ecx, 0x17
call qword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x140017a9c
mov ecx, 5
int 0x29
mov ecx, 2
call fcn.1400167f0
xorps xmm0, xmm0
lea rcx, [rbp + 0x10]
xor eax, eax
xor edx, edx
mov r8d, 0x4d0
mov qword [rbp], rax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x10]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x50], rax
call qword [sym.imp.ntdll.dll_RtlCaptureContext]
mov rbx, qword [rbp + 0x108]
lea rdx, [rsp + 0x40]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x140017b58
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x38], 0
mov r9, rax
mov qword [rsp + 0x30], rcx
mov r8, rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_RtlVirtualUnwind]
mov rax, qword [rbp + 0x4f8]
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0x4f8]
add rax, 8
mov dword [rsp + 0x70], 0xc0000417
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x4f8]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x74], 1
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x140017bbe
test ebx, ebx
jne 0x140017bbe
lea ecx, [rax + 2]
call fcn.1400167f0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000417
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rbp + 0x4e0]
xor rcx, rsp
call fcn.140018060
mov rbx, qword [rsp + 0x600]
add rsp, 0x5f0
pop rbp
ret
Function at 0x140033140
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x20
cmp qword [rdx + 0x18], 8
mov rdi, rcx
mov rcx, rdx
mov rbx, r8
mov rsi, rdx
jb 0x140033162
mov rcx, qword [rdx]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
xor ebp, ebp
test eax, eax
mov ecx, ebp
sete cl
test eax, eax
je 0x1400331e2
test rbx, rbx
je 0x14003319a
lea rax, [0x140181528]
mov dword [rbx], ebp
mov qword [rbx + 8], rax
mov byte [rbx + 4], bpl
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
shl rcx, 0x20
add rcx, rax
mov eax, dword [rsp + 0x48]
mov qword [rdi + 8], rcx
mov ecx, dword [rsp + 0x4c]
shl rcx, 0x20
add rcx, rax
mov eax, dword [rsp + 0x58]
mov qword [rdi + 0x10], rcx
mov ecx, dword [rsp + 0x5c]
shl rcx, 0x20
add rcx, rax
mov rax, rdi
mov qword [rdi], rcx
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea r9, str.boost::filesystem::space
mov r8, rbx
mov rdx, rsi
call fcn.140033b20
mov qword [rdi + 0x10], rbp
mov rax, rdi
mov qword [rdi + 8], rbp
mov qword [rdi], rbp
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
Function at 0x140033210
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1401dc478]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r15, r8
mov rsi, rdx
mov rdi, rcx
mov rcx, rdx
cmp qword [rdx + 0x18], 8
jb 0x140033244
mov rcx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, eax
cmp eax, 0xffffffff
jne 0x140033265
mov r8, r15
mov rdx, rsi
mov rcx, rdi
call fcn.140033020
jmp 0x1400333dd
mov edx, r14d
mov rcx, rsi
call fcn.140032ef0
mov r12d, eax
xor ebp, ebp
bt r14d, 0xa
jae 0x14003339a
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14003328d
mov rdx, qword [rsi]
mov qword [rsp + 0x48], rbp
movdqa xmm0, xmmword [0x140182b60]
movdqu xmmword [rsp + 0x58], xmm0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], bp
jne 0x1400332b0
lea rcx, [rsp + 0x48]
call fcn.140031020
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140033346
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033341
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140033341
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140161d84
movdqa xmm0, xmmword [0x140182b60]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], bp
cmp rbx, 0xffffffffffffffff
jne 0x140033370
mov r8, r15
mov rdx, rsi
mov rcx, rdi
call fcn.140033020
nop
jmp 0x1400333dd
mov rcx, rsi
call fcn.140032df0
test al, al
jne 0x140033391
mov dword [rdi], 9
mov dword [rdi + 4], r12d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400333dd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r15, r15
je 0x1400333b2
mov dword [r15], ebp
mov byte [r15 + 4], 0
lea rax, [0x140181528]
mov qword [r15 + 8], rax
and r14d, 0x10
je 0x1400333be
mov eax, dword [rsp + 0x40]
jmp 0x1400333c6
mov eax, r12d
mov r12d, dword [rsp + 0x40]
test r14d, r14d
setne bpl
add ebp, 2
mov dword [rdi], ebp
test r14d, r14d
cmove r12d, eax
mov dword [rdi + 4], r12d
mov rax, rdi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401623e0
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140036610
Capabilities:
Read pipe
Write file on windows
Write pipe

Disassembly:
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x30]
sub rsp, 0x130
cmp qword [rcx + 0x40], 0
mov rdi, rcx
je 0x14003663f
mov al, 1
mov rdi, qword [rsp + 0x158]
add rsp, 0x130
pop rbp
ret
mov qword [rsp + 0x150], rsi
call fcn.140036520
mov rsi, rax
test rax, rax
je 0x1400367a2
mov qword [rsp + 0x148], rbx
mov ebx, dword [rdi + 0x38]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movups xmm0, xmmword [rdi + 0x28]
mov dword [rbp - 0x6c], eax
lea r9, [rsp + 0x40]
lea rax, [rdi + 0x5c]
mov dword [rbp - 0x68], ebx
xor ebx, ebx
mov qword [rbp - 0x60], rax
lea rax, [rdi + 0x60]
mov qword [rsp + 0x30], rbx
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x70]
lea rax, [rdi + 0x68]
mov dword [rbp - 0x70], 1
mov qword [rbp - 0x50], rax
lea r8d, [rbx + 0x50]
lea rax, [rbp + 0x40]
mov qword [rbp - 0x38], rbx
movups xmmword [rbp - 0x48], xmm0
mov qword [rsp + 0x28], rax
mov rcx, rsi
xorps xmm0, xmm0
mov dword [rsp + 0x20], 0x50
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], ebx
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
movups xmmword [rsp + 0x68], xmm1
mov qword [rsp + 0x78], rbx
movdqa xmmword [rbp - 0x80], xmm0
mov dword [rbp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_TransactNamedPipe]
test eax, eax
je 0x14003678e
cmp dword [rsp + 0x40], 2
jne 0x14003678e
cmp dword [rsp + 0x44], ebx
je 0x14003678e
cmp qword [rsp + 0x78], rbx
je 0x14003678e
cmp qword [rbp - 0x80], rbx
je 0x14003678e
cmp qword [rbp - 0x78], rbx
je 0x14003678e
xorps xmm0, xmm0
mov qword [rbp - 0x1c], rbx
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x10], xmm0
xor eax, eax
movaps xmmword [rbp], xmm1
lea r9, [rbp + 0x40]
mov qword [rbp + 0x10], rax
lea r8d, [rbx + 0x50]
movdqa xmmword [rbp + 0x20], xmm0
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x18], rbx
mov rcx, rsi
mov dword [rbp - 0x20], 3
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14003678e
mov rax, qword [rsp + 0x78]
mov bl, 1
mov qword [rdi + 0x40], rax
mov rax, qword [rbp - 0x80]
mov qword [rdi + 0x48], rax
mov rax, qword [rbp - 0x78]
mov qword [rdi + 0x50], rax
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x58], eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, bl
mov rbx, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x158]
add rsp, 0x130
pop rbp
ret
Function at 0x140037270
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1401dc478]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140037343
cmp byte [rcx + 0x71], 0
je 0x140037343
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14003733f
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 0x140037304
sub eax, 1
je 0x140037308
cmp eax, 2
jne 0x14003733f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401623e0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140037336
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 0x14003733f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1400372ec
xor al, al
jmp 0x1400372ec
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401623e0
add rsp, 0x60
pop rbx
ret
Function at 0x1400384c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1401dc478]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x1400384ed
xor eax, eax
jmp 0x140038642
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x140038518
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x140038518
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 0x140038642
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x140038635
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x14003855b
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 0x140038586
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 0x14003863a
lea rax, [rsp + 0x48]
mov byte [rsp + 0x40], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x41]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x40]
lea rax, [rsp + 0x50]
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 0x1400385f5
sub eax, 1
je 0x1400385f5
cmp eax, 2
jne 0x140038635
movsx ecx, byte [rsp + 0x40]
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 0x14003863a
mov rsi, qword [rsp + 0x48]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140038623
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 0x140038635
lea rax, [rsp + 0x40]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x50], rax
mov eax, edi
jne 0x14003863a
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401623e0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140039620
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140039651
xor eax, eax
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
je 0x14003966f
mov rbp, qword [rsp + 0x40]
mov rsi, 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__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
mov rdi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140039690
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140039692
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x1400396c4
cmp rax, rbp
mov rbx, rbp
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rbx
sub rdi, rbx
sub dword [rax], ebx
mov rcx, qword [rsi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
mov rbx, rdi
je 0x140039761
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140039702
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rdi, 0xfff
jbe 0x140039741
nop dword [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 rdi, rax
add r14, rax
mov rbx, rdi
cmp rax, 0xfff
jne 0x140039782
cmp rdi, rax
ja 0x140039710
test rbx, rbx
je 0x140039761
mov r9, qword [rsi + 0x80]
mov r8, rdi
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x30]
mov rax, rbp
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
sub rbp, rdi
jmp 0x140039764
Function at 0x140039790
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 0x1400397c7
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 0x1400397e8
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1400397ea
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140039843
test ecx, ecx
jle 0x140039823
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 0x140039843
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140039843
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 0x140041380
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x40
mov rbx, rcx
xor eax, eax
xchg byte [rcx], al
mov ecx, reloc.WS2_32.dll_recv
call fcn.140161d48
test rax, rax
je 0x1400413aa
lea rcx, [0x140040110]
mov qword [rax], rcx
mov qword [rax + 8], rbx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14003f650]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400413fb
cmp dword [rbx + 0x10], 0
jne 0x1400413f4
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx + 8], xmm0
add rsp, 0x40
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
mov dword [rsp + 0x38], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
Function at 0x14008ccd0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push r15
sub rsp, 0x30
mov r14, r8
mov r15, rdx
mov qword [rdx], 0
movzx eax, word [r8 + 8]
mov word [rdx + 8], ax
test ax, ax
je 0x14008cd81
movzx edi, word [r8 + 8]
mov ecx, edi
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x14008cd43
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, edi
lea rdx, [0x14018ab30]
call fcn.140034970
lea ecx, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [r15], rax
mov rdi, qword [r14]
movzx esi, word [r14 + 8]
shl rsi, 5
add rsi, rdi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
cmp rdi, rsi
je 0x14008cd81
mov rdx, rdi
mov rcx, rbx
call fcn.140086670
add rbx, 0x20
mov qword [rsp + 0x28], rbx
add rdi, 0x20
cmp rdi, rsi
jne 0x14008cd64
mov eax, dword [r14 + 0xa]
mov dword [r15 + 0xa], eax
movzx eax, word [r14 + 0xe]
mov word [r15 + 0xe], ax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
add rsp, 0x30
pop r15
ret

Function at 0x14008cdb0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push r15
sub rsp, 0x30
mov r14, r8
mov r15, rdx
mov qword [rdx], 0
movzx eax, word [r8 + 8]
mov word [rdx + 8], ax
test ax, ax
je 0x14008ce61
movzx edi, word [r8 + 8]
mov ecx, edi
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x14008ce23
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, edi
lea rdx, [0x14018ab30]
call fcn.140034970
lea ecx, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [r15], rax
mov rdi, qword [r14]
movzx esi, word [r14 + 8]
shl rsi, 5
add rsi, rdi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
cmp rdi, rsi
je 0x14008ce61
mov rdx, rdi
mov rcx, rbx
call fcn.140086740
add rbx, 0x20
mov qword [rsp + 0x28], rbx
add rdi, 0x20
cmp rdi, rsi
jne 0x14008ce44
mov eax, dword [r14 + 0xa]
mov dword [r15 + 0xa], eax
movzx eax, word [r14 + 0xe]
mov word [r15 + 0xe], ax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
add rsp, 0x30
pop r15
ret
Function at 0x14008ce90
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov qword [rdx], 0
mov rbx, r8
movzx eax, word [r8 + 8]
mov rdi, rdx
mov word [rdx + 8], ax
test ax, ax
je 0x14008cf0e
movzx esi, word [r8 + 8]
mov ecx, esi
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
jne 0x14008cef7
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, esi
lea rdx, [0x14018ab30]
mov rcx, rax
call fcn.140034970
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [rdi], rax
mov rcx, rax
movzx r8d, word [rbx + 8]
mov rdx, qword [rbx]
shl r8, 5
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [rbx + 0xa]
mov rsi, qword [rsp + 0x38]
mov dword [rdi + 0xa], eax
movzx eax, word [rbx + 0xe]
mov rbx, qword [rsp + 0x30]
mov word [rdi + 0xe], ax
add rsp, 0x20
pop rdi
ret
Function at 0x14008d960
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, rcx
movzx r13d, dx
and r13d, 7
movzx eax, dx
shr rax, 3
lea rsi, [rcx + 0xa]
add rsi, rax
mov qword [rsp + 0x60], rsi
mov r8d, 1
mov ecx, r13d
shl r8w, cl
test byte [rsi], r8b
je 0x14008db09
lea rcx, [r14 + 0xa]
call fcn.14006a8e0
movzx edi, ax
movzx ebx, word [r14 + 8]
cmp bx, 1
jne 0x14008d9d7
mov rcx, r14
call fcn.14008e7e0
xor r15d, r15d
jmp 0x14008daf3
dec bx
movzx ecx, bx
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x14008da18
movzx ebx, bx
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, ebx
lea rdx, [0x14018ab30]
call fcn.140034970
lea ecx, [r15 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r12, rdi
shl r12, 5
mov rbx, qword [r14]
lea rsi, [rbx + r12]
mov qword [rsp + 0x20], r15
mov rdi, r15
mov qword [rsp + 0x28], r15
cmp rbx, rsi
je 0x14008da60
nop dword [rax + rax]
mov rdx, rbx
mov rcx, rdi
call fcn.140086670
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rbx, 0x20
cmp rbx, rsi
jne 0x14008da40
mov rbx, qword [r14]
lea rdi, [r12 + r15]
movzx eax, word [r14 + 8]
mov ebp, eax
shl rbp, 5
add rbp, rbx
lea rsi, [r12 + 0x20]
add rsi, rbx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rdi
cmp rsi, rbp
je 0x14008dab5
nop dword [rax]
mov rdx, rsi
mov rcx, rdi
call fcn.140086670
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rsi, 0x20
cmp rsi, rbp
jne 0x14008da90
mov rbx, qword [r14]
movzx eax, word [r14 + 8]
test rbx, rbx
je 0x14008daee
movzx edi, ax
shl rdi, 5
add rdi, rbx
cmp rbx, rdi
je 0x14008dae5
nop dword [rax]
lea rcx, [rbx + 8]
call fcn.140088d80
add rbx, 0x20
cmp rbx, rdi
jne 0x14008dad0
mov rbx, qword [r14]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, qword [rsp + 0x60]
mov qword [r14], r15
mov eax, 0xffff
add word [r14 + 8], ax
movzx eax, byte [rsi]
btr eax, r13d
mov byte [rsi], al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret