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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbx, qword [0x006122d0]
test rbx, rbx
je 0x56feb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rbx]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rbx, rbx
je 0x56feb0
mov rax, qword [rbx + 0x10]
lea rbp, [rsp + 0x20]
mov rdx, qword [rbx + 0x18]
lea rsi, [rsp + 0x30]
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
call fcn.0056f560
lea rax, [rbx + 0x38]
mov rcx, rsi
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
xchg qword [rax], rcx
test rcx, rcx
je 0x56fdac
mov qword [rcx + 8], rsi
lea rdx, [rcx + 0x18]
xor eax, eax
mov rcx, 0xffffffffffffffff
lock cmpxchg qword [rdx], rcx
test rax, rax
mov rcx, rax
je 0x56fd97
call qword [sym.imp.KERNEL32.dll_SetEvent]
lea r12, [rsi + 0x10]
xor edi, edi
lock xadd qword [r12], rdi
test rdi, rdi
je 0x56fec0
mov dword [rbx + 0x28], 6
mov r8, qword [rsp + 0x30]
lea rax, [rsi + 8]
xor edx, edx
lock xadd qword [rax], rdx
test rdx, rdx
mov rcx, rdx
je 0x56ff00
add rcx, 0x10
xor eax, eax
mov rdx, 0xffffffffffffffff
lock cmpxchg qword [rcx], rdx
test rax, rax
mov rcx, rax
je 0x56fdef
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rax, qword [rbx + 0x178]
mov esi, 0xffffffff
mov rdi, qword [sym.imp.KERNEL32.dll_SetEvent]
test rax, rax
jne 0x56fe2b
jmp 0x56fe75
add r8, 8
mov eax, esi
xchg dword [r8], eax
mov rcx, qword [rdx + 0x20]
call rdi
mov rax, qword [rbx + 0x178]
test rax, rax
je 0x56fe75
mov rdx, qword [rax]
mov r9, qword [rdx + 0x28]
mov r10, qword [rdx + 0x10]
mov qword [rdx + 0x10], rbx
mov rax, qword [r9 + 0x18]
test rax, rax
je 0x56fe4b
mov rcx, qword [r9 + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [r9 + 0x10]
test rcx, rcx
je 0x56fe58
mov qword [rcx + 0x18], rax
cmp r9, qword [r10 + 0x178]
mov r8, r9
jne 0x56fe10
mov rax, qword [r9 + 0x18]
mov qword [r10 + 0x178], rax
mov r8, qword [rdx + 0x28]
jmp 0x56fe10
cmp dword [rbx + 0x184], 1
jne 0x56feb0
mov rax, qword [rbx + 0x10]
mov rcx, rbp
mov rdx, qword [rbx + 0x18]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
call fcn.0056f260
mov rax, qword [0x006122d0]
xor edx, edx
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop dword [rax]
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov r13, rax
mov rax, rdi
lock cmpxchg qword [r12], r13
test rax, rax
je 0x56feef
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x56fdac
mov edx, 0xffffffff
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x56fee1
mov rax, rsi
lock cmpxchg qword [r8], rdx
cmp rsi, rax
je 0x56fdef
lea rcx, [rsi + 0x18]
lock xadd qword [rcx], rdx
test rdx, rdx
je 0x56ff2f
add rsi, 8
xor ecx, ecx
lock xadd qword [rsi], rcx
jmp 0x56fdcf
call fcn.0056ef60
jmp 0x56ff1f
Function at 0x5733b0
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, qword [0x006122c8]
test rbx, rbx
je 0x573412
mov esi, ecx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rbx]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, edi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rbx, rbx
je 0x573412
test esi, esi
je 0x5733f7
mov rax, qword [rbx]
test rax, rax
je 0x5733f7
mov rcx, qword [rbx + 8]
call rax
mov rdx, qword [rbx + 0x10]
mov rcx, qword [0x006122c8]
call fcn.00572ef0
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
xor ebx, ebx
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x573420
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [0x006122c8]
test rsi, rsi
mov rbx, rcx
mov qword [rcx], rdx
mov qword [rcx + 8], r8
je 0x573480
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rsi]
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [0x006122c8]
mov rdx, rbx
mov rcx, rsi
mov qword [rbx + 0x10], rdi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.00572ef0
xor edi, edi
jmp 0x573460

Function at 0x573490
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rsi, qword [0x006122d0]
test rsi, rsi
mov rbx, rcx
je 0x5734f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rsi]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, edi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rsi, rsi
je 0x5734f2
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x10]
mov qword [rbx], rsi
mov qword [rbx + 8], rdi
mov rax, rbx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r12, [rsp + 0x40]
mov rcx, r12
call fcn.00570910
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
test rbp, rbp
mov rsi, rbp
je 0x5734d7
or byte [rbp + 0x194], 1
mov dword [rbp + 0x184], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r13, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rbp + 0x198], eax
call r13
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov r14, rax
call r13
lea r9, [rbp + 8]
mov r8, r15
mov rdx, r14
mov rcx, rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x5735a0
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov rcx, qword [0x006122d0]
mov rdx, rbp
mov dword [rbp + 0x188], eax
call fcn.00572ef0
jmp 0x5734d7
mov rcx, r12
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rdi
call fcn.00570770
mov qword [rbx], 0
mov dword [rbx + 8], 0
jmp 0x5734de
Function at 0x5735d0
Capabilities:
Create thread
Resume thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
test rdx, rdx
mov r12, rcx
mov r14, r8
mov dword [rcx + 8], 0
mov r13, r9
je 0x573710
mov rbp, qword [rdx]
lea rdi, [rsp + 0x30]
mov rcx, rdi
call fcn.00570910
mov rbx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
test rbx, rbx
je 0x5736e0
mov ecx, 0x20
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x5736e0
test rbp, rbp
mov qword [rax], rbx
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r13
je 0x573740
mov eax, dword [rbp + 0x18]
mov r14, qword [rbp + 0x10]
mov r13d, dword [rbp + 0x1c]
mov dword [rbx + 0x184], eax
mov eax, dword [rbp + 0x20]
test eax, eax
je 0x573720
mov dword [rbx + 0x28], 0
xor ecx, ecx
mov r9, rsi
mov edx, r14d
lea rax, [rbx + 0x198]
mov qword [rbx + 0x58], 0
lea r8, [0x005732f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
call qword [sym.imp.msvcrt.dll__beginthreadex]
test rax, rax
mov rbp, rax
mov qword [rbx + 8], rax
je 0x573790
mov r8d, r13d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], r15
call fcn.00571580
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov qword [r12], rbx
xor eax, eax
mov qword [r12 + 8], r15
jmp 0x5736f7
mov rcx, rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], r15
call fcn.0056f260
mov eax, 0xb
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ebp, ebp
jmp 0x5735fc
mov rcx, rdi
call fcn.00573490
mov rax, qword [rsp + 0x30]
mov r13d, dword [rax + 0x188]
jmp 0x573666
mov dword [rbx + 0x28], 0
xor edx, edx
xor ecx, ecx
mov r9, rsi
lea rax, [rbx + 0x198]
mov qword [rbx + 0x58], 0
lea r8, [0x005732f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
call qword [sym.imp.msvcrt.dll__beginthreadex]
test rax, rax
mov rbp, rax
mov qword [rbx + 8], rax
jne 0x5736c5
nop word [rax + rax]
mov rcx, rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], r15
call fcn.0056f260
mov rcx, rsi
call sub.msvcrt.dll_free
mov eax, 0xb
jmp 0x5736f7

Function at 0x57a1d0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
test rcx, rcx
je 0x57a203
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 ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
ret
xor ebx, ebx
jmp 0x57a1f9
Function at 0x57a210
Capabilities:
Get thread local storage value

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov edi, ecx
mov rcx, qword [0x006122d0]
call fcn.0057a1d0
mov rsi, rax
mov dword [rax + 0x28], 5
lea eax, [rdi - 1]
cmp eax, 1
jbe 0x57a248
mov ecx, 1
call sub.msvcrt.dll_exit
test byte [rsi + 0x194], 1
jne 0x57a2c2
mov rbx, qword [0x006122c8]
test rbx, rbx
je 0x57a2b7
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x57a29f
mov r8, qword [rbx]
test r8, r8
je 0x57a283
mov rcx, qword [rbx + 8]
call r8
mov rdx, qword [rbx + 0x10]
mov rcx, qword [0x006122c8]
call fcn.00572ef0
mov rbx, qword [0x006122c8]
test rbx, rbx
je 0x57a2b7
call r13
mov ecx, dword [rbx]
mov r14d, eax
call r12
mov ecx, r14d
mov rbx, rax
call rbp
test rbx, rbx
jne 0x57a274
lea rcx, [rsi + 0x70]
mov edx, edi
call sub.msvcrt.dll_longjmp
or ecx, 0xffffffff
cmp edi, 2
jne 0x57a2d9
cmp dword [0x006122d8], 0
jne 0x57a2de
call qword [sym.imp.msvcrt.dll__endthreadex]
mov ecx, dword [rsi + 0x48]
jmp 0x57a2ca
mov dword [rsp + 0x2c], ecx
call fcn.0056fce0
mov ecx, dword [rsp + 0x2c]
jmp 0x57a2d3
Function at 0x580830
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov esi, 1
test edx, edx
mov rbx, rcx
cmovg esi, edx
cmp edx, 0x3ffffff
jg 0x5808a8
movsxd rdx, dword [rcx]
movsxd r8, esi
shl r8, 3
test edx, edx
je 0x580888
mov rax, qword [0x005fd330]
shl rdx, 3
mov rcx, qword [rcx + 8]
call qword [rax]
mov edx, dword [rbx + 4]
mov ecx, dword [rbx + 4]
sar edx, 0x1f
xor ecx, edx
sub ecx, edx
cmp ecx, esi
jg 0x5808d8
mov qword [rbx + 8], rax
mov dword [rbx], esi
add rsp, 0x28
pop rbx
pop rsi
ret
mov rax, qword [0x005fd2f0]
mov rcx, r8
call qword [rax]
mov qword [rbx + 8], rax
mov dword [rbx], esi
add rsp, 0x28
pop rbx
pop rsi
ret
mov ecx, 2
call qword [fcn.005a3cc0]
lea rcx, str.gmp:_overflow_in_mpz_type_n
mov r9, rax
mov r8d, 0x1a
mov edx, 1
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
nop word [rax + rax]
mov dword [rbx + 4], 0
jmp 0x58087b

Function at 0x59bee0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbx
sub rsp, 0x38
mov r12, rcx
lea rax, [rsp + 0x58]
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call fcn.005a3cc0
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rbx, qword [rsp + 0x28]
mov ecx, 2
call fcn.005a3cc0
mov rdx, r12
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
nop
nop word [rax + rax]
Function at 0x59bf50
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rdi, dword [0x006128f4]
mov r12, rcx
mov rsi, rdx
mov rbx, r8
test edi, edi
jle 0x59c0f8
mov rax, qword [0x006128f8]
xor ecx, ecx
add rax, 0x18
nop
mov rdx, qword [rax]
cmp r12, rdx
jb 0x59bf9c
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp r12, rdx
jb 0x59c027
add ecx, 1
add rax, 0x28
cmp ecx, edi
jne 0x59bf80
mov rcx, r12
call fcn.0059ccb0
mov rbp, rax
test rax, rax
je 0x59c132
mov rax, qword [0x006128f8]
lea rdi, [rdi + rdi*4]
shl rdi, 3
add rax, rdi
mov qword [rax + 0x20], rbp
mov dword [rax], 0
call fcn.0059cde0
mov ecx, dword [rbp + 0xc]
lea rdx, [rsp + 0x20]
mov r8d, 0x30
add rcx, rax
mov rax, qword [0x006128f8]
mov qword [rax + rdi + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x59c141
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x59c020
sub eax, 4
and eax, 0xfffffffb
jne 0x59c0b0
add dword [0x006128f4], 1
cmp ebx, 8
jae 0x59c058
test bl, 4
jne 0x59c100
test ebx, ebx
je 0x59c049
movzx eax, byte [rsi]
mov byte [r12], al
test bl, 2
jne 0x59c120
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rax, qword [rsi]
lea rcx, [r12 + 8]
and rcx, 0xfffffffffffffff8
mov qword [r12], rax
mov eax, ebx
mov rdx, qword [rsi + rax - 8]
mov qword [r12 + rax - 8], rdx
sub r12, rcx
add ebx, r12d
sub rsi, r12
and ebx, 0xfffffff8
cmp ebx, 8
jb 0x59c049
and ebx, 0xfffffff8
xor eax, eax
mov edx, eax
add eax, 8
mov r8, qword [rsi + rdx]
mov qword [rcx + rdx], r8
cmp eax, ebx
jb 0x59c08a
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x40
add rdi, qword [0x006128f8]
mov qword [rdi + 8], rcx
mov r9, rdi
mov qword [rdi + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x59c020
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.0059bee0
nop dword [rax]
xor edi, edi
jmp 0x59bfa7
mov eax, dword [rsi]
mov ebx, ebx
mov dword [r12], eax
mov eax, dword [rsi + rbx - 4]
mov dword [r12 + rbx - 4], eax
jmp 0x59c049
mov ebx, ebx
movzx eax, word [rsi + rbx - 2]
mov word [r12 + rbx - 2], ax
jmp 0x59c049
mov rdx, r12
lea rcx, str.Address__p_has_no_image_section
call fcn.0059bee0
mov rax, qword [0x006128f8]
mov edx, dword [rbp + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rdi + 0x18]
call fcn.0059bee0
nop
nop dword [rax]
Function at 0x59c920
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x00612be0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x00612bc0]
test rbx, rbx
je 0x59c974
mov rdi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rbx]
call rdi
mov r12, rax
call rsi
test eax, eax
jne 0x59c96b
test r12, r12
je 0x59c96b
mov rax, qword [rbx + 8]
mov rcx, r12
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x59c950
lea rcx, [0x00612be0]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x59ccb0
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r10, qword [0x005fd360]
xor r8d, r8d
cmp word [r10], 0x5a4d
mov r9, rcx
jne 0x59cd29
mov rcx, r10
call fcn.0059cb80
test eax, eax
je 0x59cd29
movsxd rax, dword [r10 + 0x3c]
mov rcx, r9
sub rcx, r10
add r10, rax
movzx eax, word [r10 + 0x14]
lea r8, [r10 + rax + 0x18]
movzx eax, word [r10 + 6]
test eax, eax
je 0x59cd26
sub eax, 1
lea rax, [rax + rax*4]
lea r9, [r8 + rax*8 + 0x28]
nop dword [rax]
mov edx, dword [r8 + 0xc]
mov rax, rdx
cmp rcx, rdx
jb 0x59cd1d
add eax, dword [r8 + 8]
cmp rcx, rax
jb 0x59cd29
add r8, 0x28
cmp r8, r9
jne 0x59cd08
xor r8d, r8d
mov rax, r8
add rsp, 0x28
ret
Function at 0x1400011d0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x290
mov rax, qword [0x140006008]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x78], rdx
xor ebp, ebp
mov edx, pe_nt_image_headers64
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea rax, [rsp + 0x80]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140001240
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x58]
call fcn.140002100
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.140001e50
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1400012b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400012ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400012ae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000232c
movdqa xmm0, xmmword [0x140004410]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], bp
mov r14, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400012d7
mov r9, qword [rdi]
mov r15, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, r15
cmp r14, rax
ja 0x140001323
lea rax, [r15 + r14]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x30]
lea rcx, [rbx + r15*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.140003121
lea rax, [r14 + r15]
mov word [rbx + rax*2], bp
lea rax, [rsp + 0x30]
jmp 0x140001335
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140001f30
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rbp
mov qword [rsi + 0x18], rbp
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], 7
mov word [rax], bp
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1400013a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400013a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400013a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000232c
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x1400013e1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400013dc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000141a
mov rcx, r8
call fcn.14000232c
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], 7
mov word [rdi], bp
mov rax, rsi
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.1400022d0
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x290
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140001430
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140006008]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
mov rdi, rcx
cmp qword [rcx + 0x18], 8
mov dword [rsp + 0x40], ebp
jb 0x140001461
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x10000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x140001502
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x1400014d4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400014cf
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400015ab
mov rcx, r8
call fcn.14000232c
mov al, 1
mov word [rdi], bp
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400022d0
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
cmp rsi, 0xffffffffffffffff
jne 0x140001547
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140001543
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14000153e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400015ab
mov rcx, r8
call fcn.14000232c
xor al, al
jmp 0x1400014d6
lea r9, [rsp + 0x40]
mov qword [rsp + 0x68], rbx
mov r8d, 0x21a00
mov qword [rsp + 0x20], rbp
lea rdx, [0x140006040]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rdi + 0x18]
test bl, bl
mov rbx, qword [rsp + 0x68]
jne 0x140001594
cmp rax, 8
jb 0x140001543
lea rdx, [rax*2 + 2]
jmp 0x14000151a
cmp rax, 8
jb 0x1400014d4
lea rdx, [rax*2 + 2]
jmp 0x1400014a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x1400015c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140006008]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
mov rdi, rcx
cmp qword [rcx + 0x18], 8
mov dword [rsp + 0x40], ebp
jb 0x1400015f1
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x10000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x140001692
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140001664
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14000165f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000173b
mov rcx, r8
call fcn.14000232c
mov al, 1
mov word [rdi], bp
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400022d0
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
cmp rsi, 0xffffffffffffffff
jne 0x1400016d7
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x1400016d3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400016ce
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000173b
mov rcx, r8
call fcn.14000232c
xor al, al
jmp 0x140001666
lea r9, [rsp + 0x40]
mov qword [rsp + 0x68], rbx
mov r8d, 0x3670
mov qword [rsp + 0x20], rbp
lea rdx, [0x140027a40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rdi + 0x18]
test bl, bl
mov rbx, qword [rsp + 0x68]
jne 0x140001724
cmp rax, 8
jb 0x1400016d3
lea rdx, [rax*2 + 2]
jmp 0x1400016aa
cmp rax, 8
jb 0x140001664
lea rdx, [rax*2 + 2]
jmp 0x140001637
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140002c64
Capabilities:
Parse pe header

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