joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4b9a60
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4b9c9b
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rbx
nop
call sym.crypto_internal_boring_sig.StandardCrypto.abi0
xorps xmm15, xmm15
mov r14, qword [0x0139e5a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
add qword [rcx + 0x68], rax
mov rdx, qword [rcx + 0x60]
test rdx, rdx
jle 0x4b9baa
nop dword [rax]
cmp rdx, 0x40
ja 0x4b9c8d
lea rsi, [rdx - 0x40]
mov rdi, rsi
neg rsi
sar rdi, 0x3f
and rdi, rdx
lea rdx, [rcx + rdi]
lea rdx, [rdx + 0x20]
cmp rax, rsi
cmovl rsi, rax
mov qword [rsp + 0x28], rsi
mov rbx, qword [rsp + 0x60]
cmp rbx, rdx
je 0x4b9b19
mov rax, rdx
mov rcx, rsi
nop
call sym.runtime.memmove
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x60]
add rdx, rsi
mov qword [rcx + 0x60], rdx
cmp rdx, 0x40
jne 0x4b9b81
mov qword [rsp], rcx
lea rax, [rcx + 0x20]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call sym.crypto_sha256.block.abi0
xorps xmm15, xmm15
mov r14, qword [0x0139e5a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x60], 0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
cmp rax, rsi
jb 0x4b9c82
mov rdi, qword [rsp + 0x70]
sub rdi, rsi
mov rdx, rdi
neg rdx
sar rdx, 0x3f
and rdx, rsi
mov r8, rax
sub r8, rsi
add rbx, rdx
jmp 0x4b9bb7
mov r8, rax
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
cmp r8, 0x40
jl 0x4b9c35
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdi
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
and r8, 0xffffffffffffffc0
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rdi
call sym.crypto_sha256.block.abi0
xorps xmm15, xmm15
mov r14, qword [0x0139e5a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
sub rax, rcx
sar rax, 0x3f
mov r8, qword [rsp + 0x38]
and rax, r8
and rax, 0xffffffffffffffc0
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + rax]
sub r8, rdx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
test r8, r8
je 0x4b9c78
lea rdx, [rcx + 0x20]
cmp r8, 0x40
mov esi, 0x40
cmovl rsi, r8
cmp rbx, rdx
je 0x4b9c74
mov qword [rsp + 0x38], rsi
mov rax, rdx
mov rcx, rsi
nop dword [rax + rax]
call sym.runtime.memmove
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
mov qword [rcx + 0x60], rsi
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
mov rcx, rax
mov rax, rsi
call sym.runtime.panicSliceB
mov rax, rdx
mov ecx, 0x40
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.crypto_sha256._digest_.Write
Function at 0x140001180
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, qword [0x1400ff520]
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword gs:[0x30]
mov rsi, qword [rax + 8]
jmp 0x1400011c0
cmp rsi, rax
je 0x140001320
mov ecx, 0x3e8
call rdi
xor eax, eax
lock cmpxchg qword [rbx], rsi
jne 0x1400011b0
mov rsi, qword [0x1400ff530]
xor edi, edi
mov eax, dword [rsi]
cmp eax, 1
je 0x140001337
mov eax, dword [rsi]
test eax, eax
je 0x1400013a0
mov dword [0x140103008], 1
mov eax, dword [rsi]
cmp eax, 1
je 0x14000134c
test edi, edi
je 0x14000136d
mov rax, qword [0x1400ff490]
mov rax, qword [rax]
test rax, rax
je 0x14000121f
xor r8d, r8d
mov edx, 2
xor ecx, ecx
call rax
call fcn.14000a910
mov rcx, qword [0x1400ff5c0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rdx, qword [0x1400ff510]
lea rcx, section..text
mov qword [rdx], rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__set_invalid_parameter_handler
call fcn.14000a720
mov ebx, dword [0x140103028]
lea edi, [rbx + 1]
movsxd rdi, edi
shl rdi, 3
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r12, qword [0x140103020]
mov rbp, rax
test ebx, ebx
jle 0x1400013c0
sub rdi, 8
xor ebx, ebx
nop dword [rax]
mov rcx, qword [r12 + rbx]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rsi, [rax + 1]
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r8, rsi
mov qword [rbp + rbx], rax
mov rdx, qword [r12 + rbx]
mov rcx, rax
add rbx, 8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
cmp rdi, rbx
jne 0x140001280
add rdi, rbp
mov qword [rdi], 0
mov qword [0x140103020], rbp
call fcn.14000a520
mov rax, qword [0x1400ff4a0]
mov r8, qword [0x140103018]
mov ecx, dword [0x140103028]
mov rax, qword [rax]
mov qword [rax], r8
mov rdx, qword [0x140103020]
call fcn.1400168e0
mov ecx, dword [0x14010300c]
mov dword [0x140103010], eax
test ecx, ecx
je 0x1400013c8
mov edx, dword [0x140103008]
test edx, edx
je 0x140001380
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rsi, qword [0x1400ff530]
mov edi, 1
mov eax, dword [rsi]
cmp eax, 1
jne 0x1400011dd
mov ecx, 0x1f
call fcn.140010a10
mov eax, dword [rsi]
cmp eax, 1
jne 0x1400011fc
mov rdx, qword [0x1400ff560]
mov rcx, qword [0x1400ff550]
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
mov dword [rsi], 2
test edi, edi
jne 0x140001204
xor eax, eax
xchg qword [rbx], rax
jmp 0x140001204
call sub.api_ms_win_crt_runtime_l1_1_0.dll__cexit
mov eax, dword [0x140103010]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rdx, qword [0x1400ff580]
mov rcx, qword [0x1400ff570]
mov dword [rsi], 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
jmp 0x1400011f1
mov rdi, rax
jmp 0x1400012b5
mov ecx, eax
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop
Function at 0x1400027a7
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov rcx, rdx
mov rsi, rdx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rsi
mov r9, rbx
mov edx, 1
mov r8, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
jmp 0x140010b98
jmp qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]

Function at 0x1400027dc
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.out_of_memory_n
mov rcx, rax
call fcn.1400027a7
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop

Function at 0x1400033e2
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x410
mov rbp, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rsi, section..rdata
mov rbx, qword [rcx]
mov r12, qword [rcx + 8]
mov ecx, 2
call rbp
lea rdx, str.could_not_load:
mov rcx, rax
call fcn.1400027a7
test rbx, rbx
je 0x140003424
lea rsi, [r12 + 8]
mov ecx, 2
call rbp
mov rdx, rsi
mov rcx, rax
call fcn.1400027a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
cmp eax, 0xc1
jne 0x14000345c
mov ecx, 2
call rbp
lea rdx, str._n_bad_format__library_may_be_wrong_architecture_
mov rcx, rax
call fcn.1400027a7
lea r10, [rsp + 0x28]
mov edx, 0x3e8
mov rcx, r10
call fcn.140001bc4
movabs rax, 0x6f6e20646c756f63
movabs rdx, 0x203a64616f6c2074
mov qword [rsp + 0x28], rax
mov eax, 0x3d7
cmp rbx, rax
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x38]
cmovle rax, rbx
mov rdi, rdx
mov edx, 0x3d7
sub rdx, rax
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
cmp rdx, 0x2f
jle 0x1400034d2
cmp r12d, 0xc1
jne 0x1400034d2
lea rax, [r10 + rax + 0x10]
lea rsi, str._n_bad_format__library_may_be_wrong_architecture_
mov ecx, 0xc
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rdx, r10
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 2
call rbp
lea rdx, [0x140018052]
mov rcx, rax
call fcn.1400027a7
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop
Function at 0x140003504
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x120
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbp, rcx
mov rdi, rdx
call r12
test rax, rax
jne 0x14000362b
lea r13, [rsp + 0x26]
mov edx, 0xfa
mov ebx, 1
mov rcx, r13
call fcn.140001bc4
mov byte [rsp + 0x26], 0x5f
mov al, byte [rdi + rbx - 1]
test al, al
je 0x140003563
mov byte [r13 + rbx], al
inc rbx
cmp rbx, 0xf5
jne 0x14000354a
mov byte [rsp + rbx + 0x26], 0x40
mov esi, 0x63
mov r14d, 0xa
lea rcx, [rsi - 0x63]
cmp rsi, 0xc6
jbe 0x140003586
add rbx, 3
jmp 0x140003599
lea rax, [rsi - 0x5a]
cmp rax, 0x12
jbe 0x140003596
add rbx, 2
jmp 0x140003599
inc rbx
mov byte [rsp + rbx + 0x27], 0
mov rax, rcx
xor edx, edx
div r14
mov rax, rcx
add edx, 0x30
mov byte [r13 + rbx], dl
cqo
dec rbx
idiv r14
mov rcx, rax
test rax, rax
jne 0x14000359e
mov rdx, r13
mov rcx, rbp
call r12
test rax, rax
jne 0x14000362b
add rsi, 4
cmp rsi, 0x12f
jne 0x140003573
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call rbx
lea rdx, str.could_not_import:
mov rcx, rax
call fcn.1400027a7
mov ecx, 2
call rbx
mov rdx, rdi
mov rcx, rax
call fcn.1400027a7
mov ecx, 2
call rbx
lea rdx, [0x140018052]
mov rcx, rax
call fcn.1400027a7
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
add rsp, 0x120
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
Function at 0x14000511e
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rax, qword [rdx]
mov rbp, qword [rdx + 8]
add qword [rcx + 0x2080], rbp
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rsi, rcx
mov rbx, rdx
lea r12, [rcx + 0x20a0]
je 0x140002a69
mov rdi, rdx
mov rcx, r12
sub rdi, rax
mov rdx, rdi
sar rdx, 0xc
call fcn.1400014a5
test al, al
je 0x140002a69
test byte [rdi], 1
jne 0x140002a69
mov r13, qword [rdi + 8]
lea rax, [r13 - 0xfb1]
cmp rax, 0x3efff04e
ja 0x140002a69
mov rdx, rdi
mov rcx, rsi
add rbp, r13
sar rbx, 0xc
call fcn.140001cd2
mov qword [rdi + 8], rbp
mov rdx, rbx
mov rcx, r12
mov rbx, rdi
call fcn.140001515
cmp rbp, 0x3f000000
jle 0x140002a69
mov rdx, rdi
mov rcx, rsi
mov r8d, 0x3f000000
call fcn.14000291d
mov rdx, rdi
mov rcx, rsi
mov rbx, rax
call fcn.140001c49
mov rdi, qword [rbx + 8]
mov rcx, r12
lea r9, [rbx + rdi]
mov rbp, r9
sar rbp, 0xc
mov rdx, rbp
call fcn.1400014a5
test al, al
je 0x140002ae5
test byte [r9], 1
jne 0x140002ae5
mov r13, qword [r9 + 8]
cmp rdi, 0x3effffff
jg 0x140002ae5
cmp r13, 0xfb0
jle 0x140002ae5
mov rdx, r9
mov rcx, rsi
add rdi, r13
call fcn.140001cd2
mov qword [rbx + 8], rdi
mov rdx, rbp
mov rcx, r12
call fcn.140001515
cmp rdi, 0x3f000000
jle 0x140002ae5
mov rdx, rbx
mov rcx, rsi
mov r8d, 0x3f000000
call fcn.14000291d
mov rcx, rsi
mov rdx, rax
call fcn.140001c49
mov rdx, rbx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.140001c49
sub rsp, 0x38
mov r10, rdx
mov r8, rcx
and r10, 0xfffffffffffff000
mov rax, qword [r10 + 8]
cmp rax, 0xfb0
jle 0x140005157
mov r11, qword [r10 + 0x10]
cmp r11, rcx
je 0x1400051e5
mov rdx, r10
mov rcx, r11
add rsp, 0x38
jmp fcn.140002e81
cmp qword [r10 + 0x10], rcx
je 0x140005169
mov rcx, r10
add rsp, 0x38
jmp fcn.140002e67
sub qword [rcx + 0x2088], rax
mov rcx, qword [r10 + 0x28]
mov qword [rdx], rcx
mov qword [r10 + 0x28], rdx
mov rdx, qword [r10 + 0x30]
lea rcx, [rdx + rax]
cmp rdx, rax
jl 0x1400051bc
mov qword [r10 + 0x30], rcx
cmp rcx, 0xfb0
jne 0x140005272
mov ecx, 0x10
cqo
idiv rcx
mov rdx, r10
lea rcx, [r8 + rax*8]
call fcn.1400014e0
mov qword [r10 + 8], 0x1000
mov rcx, r8
jmp 0x1400051fa
mov r9d, 0x10
cqo
idiv r9
mov rdx, qword [r8 + rax*8]
mov qword [r10 + 0x18], rdx
test rdx, rdx
je 0x1400051d8
mov qword [rdx + 0x20], r10
mov qword [r8 + rax*8], r10
mov qword [r10 + 0x30], rcx
jmp 0x140005272
sub qword [r11 + 0x2088], rax
cmp rax, 0x3f000000
jg 0x140005203
mov rdx, r10
mov rcx, r11
add rsp, 0x38
jmp 0x1400029bc
mov rdx, r10
lea rcx, [r11 + 0x20a0]
mov qword [rsp + 0x28], rax
sar rdx, 0xc
call fcn.140001515
mov rax, qword [rsp + 0x28]
mov rdx, qword [r11 + 0x2070]
mov r8d, 0x8000
mov rcx, qword [r11 + 0x2078]
cmp rcx, rdx
cmovl rcx, rdx
sub rdx, rax
mov qword [r11 + 0x2070], rdx
xor edx, edx
mov qword [r11 + 0x2078], rcx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x140005272
lea rcx, str.virtualFree_failing_
call fcn.1400050d8
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop
add rsp, 0x38
ret
Function at 0x140005277
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x140017180]
call fcn.140010e10
mov rdx, rbx
mov rcx, rax
add rsp, 0x20
pop rbx
jmp fcn.14000511e

Function at 0x14000529b
Capabilities:
Terminate process

Disassembly:
test rdx, rdx
jne 0x1400052a6
sub rcx, 0x10
jmp 0x1400052c3
mov r8, rdx
lea rax, [rdx + 0xf]
neg r8
and rax, r8
sub rcx, rax
cmp rdx, 0x10
jle 0x1400052c3
movzx eax, word [rcx - 2]
sub rcx, rax
jmp fcn.140005277

Function at 0x1400052c5
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
mov rax, qword [rax]
mov rbx, rcx
test rax, rax
jne 0x1400052ea
mov rax, qword [rbx]
mov rcx, rbx
movsx rdx, word [rax + 0x10]
add rsp, 0x20
pop rbx
jmp fcn.14000529b
call rax
lea rcx, [0x1400171e0]
call fcn.140010e10
cmp byte [rax], 0
je 0x1400052d8
add rsp, 0x20
pop rbx
ret

Function at 0x1400053f4
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
xor esi, esi
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
cmp rsi, rdi
jl 0x140005410
test rbx, rbx
jne 0x140005431
jmp 0x140005446
mov rax, rsi
shl rax, 4
mov rcx, qword [rbx + rax + 0x10]
test rcx, rcx
je 0x14000542c
test byte [rcx + 7], 0x40
jne 0x14000542c
call fcn.140005277
inc rsi
jmp 0x140005404
test byte [rbx + 7], 0x40
jne 0x140005446
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.140005277
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x14000551c
Capabilities:
Terminate process

Disassembly:
test rcx, rcx
je 0x14000552c
test byte [rcx + 7], 0x40
jne 0x14000552c
jmp fcn.140005277
ret

Function at 0x14000552d
Capabilities:
Terminate process

Disassembly:
test rcx, rcx
je 0x14000553d
test byte [rcx + 7], 0x40
jne 0x14000553d
jmp fcn.140005277
ret

Function at 0x140005dbe
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [rcx]
test rdx, rdx
je 0x140005dd0
add qword [rdx - 0x10], 0x10
mov qword [rcx], rdx
mov rcx, rbx
call fcn.140005d23
test al, al
je 0x140005dec
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.1400052c5
add rsp, 0x20
pop rbx
ret
Function at 0x140007457
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x1400171e0]
call fcn.140010e10
cmp byte [rax], 0
je 0x1400074b1
lea rcx, [0x140017100]
call fcn.140010e10
mov rcx, qword [rax]
mov rbx, rax
test rcx, rcx
je 0x1400074b1
call fcn.14000711e
xor eax, eax
mov rsi, qword [rbx]
mov qword [rbx], rax
mov rcx, rsi
call fcn.140005d23
test al, al
je 0x1400074a6
mov rcx, rsi
call fcn.1400052c5
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop
add rsp, 0x28
pop rbx
pop rsi
ret
Function at 0x14000a730
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov rbx, 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 sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call fcn.140010880
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop
nop dword [rax]

Function at 0x14000a7a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x140103694]
mov rbx, rcx
test esi, esi
jle 0x14000a8d0
mov rax, qword [0x140103698]
xor r9d, r9d
add rax, 0x18
nop word [rax + rax]
mov r8, qword [rax]
cmp rbx, r8
jb 0x14000a7eb
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 8]
add r8, rdx
cmp rbx, r8
jb 0x14000a875
add r9d, 1
add rax, 0x28
cmp r9d, esi
jne 0x14000a7d0
mov rcx, rbx
call fcn.14000b220
mov rdi, rax
test rax, rax
je 0x14000a8f2
mov rax, qword [0x140103698]
lea rbx, [rsi + rsi*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rdi
mov dword [rax], 0
call fcn.14000b360
mov edx, dword [rdi + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x140103698]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x14000a8d7
mov eax, dword [rsp + 0x44]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x14000a86e
lea edx, [rax - 0x40]
and edx, 0xffffffbf
jne 0x14000a880
add dword [0x140103694], 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
cmp eax, 2
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x40
mov eax, 4
cmove r8d, eax
add rbx, qword [0x140103698]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14000a86e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.14000a730
nop dword [rax]
xor esi, esi
jmp 0x14000a7f8
mov rax, qword [0x140103698]
mov edx, dword [rdi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.14000a730
mov rdx, rbx
lea rcx, str.Address__p_has_no_image_section
call fcn.14000a730
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x14000ae90
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x140103700]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1401036e0]
test rbx, rbx
je 0x14000aeec
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test rsi, rsi
je 0x14000aee3
test eax, eax
jne 0x14000aee3
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14000aec8
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x14000b220
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x1400ff460]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x14000b240
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x14000b248
ret
cmp word [r8 + 0x18], 0x20b
jne 0x14000b240
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14000b29d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x14000b294
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x14000b240
add rax, 0x28
cmp rax, r9
jne 0x14000b280
xor eax, eax
ret

Function at 0x14000b2a0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400ff460]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14000b2bf
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x14000b2c8
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14000b2bf
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x14000b360
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400ff460]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14000b37f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x14000b388
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x140011970
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x60
mov qword [rsp + 0x48], 0
lea rbx, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x4d], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r8, str.Error_cleaning_up_spin_keys_for_thread__lu._n
mov edx, 0x35
mov rcx, rbx
mov r9d, eax
call fcn.140016810
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop
nop word cs:[rax + rax]
Function at 0x140011d70
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
cmp dword [0x140104200], 1
je 0x140011e10
lea rdi, [0x140104200]
mov rcx, rdi
call fcn.140011720
lea rbp, [rax + 8]
mov rbx, rax
mov rcx, rbp
call fcn.1400110b0
mov esi, dword [0x140104200]
test esi, esi
jne 0x140011de8
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x140017338], eax
cmp eax, 0xffffffff
je 0x1400169b6
mov dword [0x140104200], 1
mov rcx, rbp
call fcn.140011380
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.1400119f0
cmp esi, 1
je 0x140011dcc
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, esi
mov r8, rdi
lea rdx, str._once__p_is__ld_n
mov rcx, rax
call fcn.1400108a0
jmp 0x140011dcc
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop
mov rax, qword [0x28]
ud2

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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
call fcn.140011b00
mov rbx, rax
test rax, rax
je 0x140011f1c
mov dword [rax + 0x44], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
mov dword [rbx + 0x70], eax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbx + 0x38], 0xffffffffffffffff
lea rcx, [rbx + 0x68]
mov qword [rbx + 0x30], rax
call fcn.1400151d0
cmp eax, 1
je 0x140011f28
mov rbp, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbx + 0x68], 0xffffffffffffffff
mov dword [rbx + 0xb8], 0
mov qword [rbx + 0x28], 0
call rbp
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rsi, rax
call rbp
mov dword [rsp + 0x30], 2
mov r8, rdi
mov rdx, rsi
mov dword [rsp + 0x28], 0
mov rcx, rax
lea r9, [rbx + 0x28]
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x1400169bc
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov ecx, dword [0x140017338]
mov rdx, rbx
mov dword [rbx + 0xbc], 0
mov dword [rbx + 0xc0], eax
movzx eax, byte [rbx + 0x40]
and eax, 0xffffffcf
or eax, 0x10
mov byte [rbx + 0x40], al
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x1400169bc
mov rax, rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.140011970
nop
nop

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

Disassembly:
sub rsp, 0x28
call fcn.140011d70
mov ecx, dword [0x140017338]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140011f50
add rsp, 0x28
ret
add rsp, 0x28
jmp fcn.140011e20