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

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
call fcn.140030d50
mov rdi, rax
mov qword [rax + 8], rsi
mov rcx, qword [rax + 0x1d8]
call fcn.1400317e0
test byte [rdi + 0x40], 0x30
jne 0x140031afc
add rdi, 0xd0
mov rcx, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_longjmp]
mov ecx, dword [0x1400eb010]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140031b97
mov rdi, rax
cmp qword [rax + 0x28], 0
jne 0x140031b3e
mov dword [rdi], 0xdeadbeef
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140031b30
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x30], 0
mov rsi, qword [rdi + 8]
jmp 0x140031b81
mov rsi, qword [rdi + 8]
mov rcx, qword [rdi + 0x30]
mov dword [rdi + 0xbc], 1
test rcx, rcx
je 0x140031b5b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x30], 0
test byte [rdi + 0x44], 4
je 0x140031b97
mov dword [rdi], 0xdeadbeef
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x28], 0
mov rcx, rdi
call fcn.140031ba0
mov ecx, dword [0x1400eb010]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__endthreadex]
int3

Function at 0x140032640
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
sub rsp, 0x28
cmp dword [0x1400eb48c], 1
jne 0x140032656
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1400eb018]
call fcn.140083340
mov rcx, qword [0x1400eb4b0]
test rcx, rcx
je 0x140032693
lea rax, [0x1400eb48c]
nop word cs:[rax + rax]
mov rsi, rcx
cmp qword [rcx], rax
je 0x1400326dd
mov rcx, qword [rsi + 0x18]
test rcx, rcx
jne 0x140032680
jmp 0x140032695
xor esi, esi
mov ecx, 1
mov edx, 0x20
call sub.api_ms_win_crt_heap_l1_1_0.dll_calloc
mov rdi, rax
lea rax, [0x1400eb48c]
mov qword [rdi], rax
mov dword [rdi + 0x10], 1
lea rax, [rsi + 0x18]
test rsi, rsi
lea rcx, [0x1400eb4b0]
cmovne rcx, rax
mov qword [rcx], rdi
lea rcx, [rdi + 8]
xor edx, edx
call fcn.140083110
mov rsi, rdi
jmp 0x1400326e0
inc dword [rsi + 0x10]
lea rcx, [0x1400eb018]
call fcn.140083380
lea rdi, [rsi + 8]
mov rcx, rdi
call fcn.140082e90
mov eax, dword [0x1400eb48c]
cmp eax, 1
je 0x14003274c
test eax, eax
jne 0x140032724
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1400eb010], eax
cmp eax, 0xffffffff
je 0x140032762
mov dword [0x1400eb48c], 1
jmp 0x14003274c
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, dword [0x1400eb48c]
lea r8, [0x1400eb48c]
lea rdx, str._once__p_is__d_n
mov rcx, rax
call fcn.140083a00
mov rcx, rdi
call fcn.140083000
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.140031370
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3
Function at 0x140032c80
Capabilities:
Print debug messages

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov rdi, qword [0x1400c01a0]
mov rax, qword [rdi]
xor rax, rsp
mov qword [rsp + 0x90], rax
test rcx, rcx
je 0x140032cb7
mov rsi, rcx
call fcn.140083330
cmp eax, 1
je 0x140032cd9
mov qword [rsi], 0xffffffffffffffff
mov rax, qword [rsp + 0x90]
xor rax, rsp
mov rcx, qword [rdi]
cmp rcx, rax
jne 0x140032cd4
add rsp, 0x98
pop rdi
pop rsi
ret
call fcn.140083390
movups xmm0, xmmword [0x1400c018b]
movups xmmword [rsp + 0x7b], xmm0
movaps xmm0, xmmword [0x1400c0180]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [0x1400c0170]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x1400c0160]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x1400c0150]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [0x1400c0140]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [str.Error_cleaning_up_spin_keys_for_thread]
movaps xmmword [rsp + 0x20], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdx, [rsp + 0x47]
mov ecx, eax
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov eax, 0x27
nop dword [rax + rax]
mov rcx, rax
inc rax
cmp rcx, 0x69
ja 0x140032d63
cmp byte [rsp + rcx + 0x20], 0
jne 0x140032d50
cmp rcx, 0x69
ja 0x140032d70
mov word [rsp + rax + 0x1f], 0xa
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3
Function at 0x140032d90
Capabilities:
Print debug messages

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb0
mov r15, qword [0x1400c01a0]
mov rax, qword [r15]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov edi, 3
test rcx, rcx
je 0x140032e4e
mov rsi, rdx
mov rbx, rcx
lea rcx, section..data
call fcn.140082e90
mov rcx, qword [0x1400eb498]
test rcx, rcx
je 0x140032e42
cmp rcx, 1
jne 0x140032df7
mov rax, qword [0x1400eb4a0]
cmp qword [rax + 8], rbx
jne 0x140032e42
jmp 0x140032e79
dec rcx
mov rax, qword [0x1400eb4a0]
xor edx, edx
jmp 0x140032e1b
inc r8
mov rdx, r8
cmp rdx, rcx
ja 0x140032e42
lea r8, [rdx + rcx]
shr r8, 1
mov r9, r8
shl r9, 4
cmp qword [rax + r9 + 8], rbx
je 0x140032e76
jbe 0x140032e10
cmp r8, rdx
je 0x140032e42
dec r8
mov rcx, r8
cmp rdx, rcx
jbe 0x140032e1b
lea rcx, section..data
call fcn.140083000
mov rax, qword [rsp + 0xa8]
xor rax, rsp
mov rcx, qword [r15]
cmp rcx, rax
jne 0x140032f52
mov eax, edi
add rsp, 0xb0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
add rax, r9
mov r14, qword [rax]
lea rcx, section..data
call fcn.140083000
test r14, r14
je 0x140032e4e
mov rcx, qword [r14 + 0x28]
test rcx, rcx
je 0x140032e4e
lea rdx, [rsp + 0x2c]
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x140032e4e
mov edi, 0x16
test byte [r14 + 0x44], 4
jne 0x140032e4e
call fcn.140030d50
test rax, rax
je 0x140032ec4
mov rax, qword [rax + 0x1d8]
jmp 0x140032ec6
xor eax, eax
mov edi, 0x24
cmp rax, rbx
je 0x140032e4e
cmp dword [r14 + 0xbc], 0
mov rcx, qword [r14 + 0x28]
je 0x140032eec
lea rax, [rcx + 1]
cmp rax, 2
jb 0x140032efb
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x140032f10
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14 + 0x30], 0
test rsi, rsi
je 0x140032f24
mov rax, qword [r14 + 8]
mov qword [rsi], rax
lea rcx, [r14 + 0x38]
call fcn.1400831a0
lea rcx, [r14 + 0x68]
call fcn.140083330
cmp eax, 1
je 0x140032f57
mov qword [r14 + 0x68], 0xffffffffffffffff
mov rcx, r14
call fcn.140031ba0
xor edi, edi
jmp 0x140032e4e
call fcn.140083390
movups xmm0, xmmword [0x1400c018b]
movups xmmword [rsp + 0x8b], xmm0
movaps xmm0, xmmword [0x1400c0180]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [0x1400c0170]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [0x1400c0160]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x1400c0150]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x1400c0140]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [str.Error_cleaning_up_spin_keys_for_thread]
movaps xmmword [rsp + 0x30], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdx, [rsp + 0x57]
mov ecx, eax
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov eax, 0x27
mov rcx, rax
inc rax
cmp rcx, 0x69
ja 0x140032fe2
cmp byte [rsp + rcx + 0x30], 0
jne 0x140032fcf
cmp rcx, 0x69
ja 0x140032fef
mov word [rsp + rax + 0x2f], 0xa
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3
Function at 0x140082780
Capabilities:
Write file on windows

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], r9
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
lea rcx, str.Mingw_w64_runtime_failure:_n
mov edx, 0x1b
mov r8d, 1
mov r9, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8, qword [rsp + 0x28]
mov rcx, rax
mov rdx, rsi
call fcn.14008c2c0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3

Function at 0x140083390
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
lea rdx, str._stack_smashing_detected_:_terminated_n
mov ecx, 2
mov r8d, 0x2c
call sub.api_ms_win_crt_stdio_l1_1_0.dll__write
mov ecx, 0x17
call sub.KERNEL32.dll_IsProcessorFeaturePresent
test eax, eax
je 0x1400833c0
mov ecx, 2
int 0x29
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
Function at 0x1400835a0
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov ebx, edx
mov rsi, rcx
mov r15, qword [0x1400c01a0]
mov rax, qword [r15]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea eax, [rbx + 1]
cmp eax, 1
ja 0x1400835ff
mov rax, qword [rsp + 0x30]
xor rax, rsp
mov rcx, qword [r15]
cmp rcx, rax
jne case.default.0x1400835f8
mov rcx, rsi
mov edx, ebx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, qword [0x1400eb550]
test rax, rax
je 0x140083615
call rax
mov rdi, rax
xor r12d, r12d
jmp 0x140083689
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14008367a
mov r12, qword [rsp + 0x28]
test r12, r12
jle 0x140083681
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140083681
mov rcx, qword [rsp + 0x20]
mov rax, r12
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov r8, rdx
shr r8, 4
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x1400837a5
mov rax, rcx
cqo
idiv r8
mov rdi, rax
jmp 0x140083689
mov r12, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov rcx, rsi
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x140083784
mov eax, ebx
add rdi, rax
mov rbp, qword [sym.imp.KERNEL32.dll_GetTickCount]
lea r14, [rsp + 0x20]
mov r13, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbx, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
mov rax, qword [0x1400eb550]
test rax, rax
je 0x1400836e0
call rax
jmp 0x140083764
test r12, r12
je 0x14008372a
test r12, r12
jle 0x140083760
mov rcx, r14
call r13
test eax, eax
je 0x140083760
mov rcx, qword [rsp + 0x20]
mov rax, r12
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov r8, rdx
shr r8, 4
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x140083745
mov rax, rcx
cqo
idiv r8
jmp 0x140083764
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14008374e
mov r12, qword [rsp + 0x28]
test r12, r12
jg 0x1400836ea
jmp 0x140083760
mov eax, ecx
xor edx, edx
div r8d
jmp 0x140083764
mov r12, 0xffffffffffffffff
nop word cs:[rax + rax]
call rbp
mov eax, eax
cmp rdi, rax
jbe 0x14008377f
mov edx, edi
sub edx, eax
mov rcx, rsi
call rbx
cmp eax, 0x102
je 0x1400836c0
jmp 0x140083784
mov eax, 0x102
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
mov rdx, qword [r15]
cmp rdx, rcx
jne case.default.0x1400835f8
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, ecx
xor edx, edx
div r8d
jmp 0x140083687
call fcn.140083390
int3
Function at 0x1400837c0
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r15d, r9d
mov esi, r8d
mov rdi, rdx
mov ebx, ecx
mov r13, qword [0x1400c01a0]
mov rax, qword [r13]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea eax, [r15 + 1]
cmp eax, 1
ja 0x14008382e
mov rax, qword [rsp + 0x30]
xor rax, rsp
mov rcx, qword [r13]
cmp rcx, rax
jne case.default.0x140083827
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
mov r9d, r15d
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov rax, qword [0x1400eb550]
test rax, rax
je 0x140083843
call rax
mov r14, rax
xor ebp, ebp
jmp 0x1400838b8
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400838a8
mov rbp, qword [rsp + 0x28]
test rbp, rbp
jle 0x1400838af
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400838af
mov rcx, qword [rsp + 0x20]
mov rax, rbp
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov r8, rdx
shr r8, 4
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x1400839df
mov rax, rcx
cqo
idiv r8
mov r14, rax
jmp 0x1400838b8
mov rbp, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
mov r9d, r15d
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 0x102
jne 0x1400839bd
mov eax, r15d
add r14, rax
mov r15, qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12, qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
nop dword [rax + rax]
mov rax, qword [0x1400eb550]
test rax, rax
je 0x140083910
call rax
jmp 0x140083995
test rbp, rbp
je 0x14008395f
test rbp, rbp
jle 0x140083990
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140083990
mov rcx, qword [rsp + 0x20]
mov rax, rbp
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov r8, rdx
shr r8, 4
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x14008397a
mov rax, rcx
cqo
idiv r8
jmp 0x140083995
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140083983
mov rbp, qword [rsp + 0x28]
test rbp, rbp
jg 0x14008391a
jmp 0x140083990
mov eax, ecx
xor edx, edx
div r8d
jmp 0x140083995
mov rbp, 0xffffffffffffffff
nop word [rax + rax]
call r15
mov eax, eax
cmp r14, rax
jbe 0x1400839b8
mov r9d, r14d
sub r9d, eax
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
call r12
cmp eax, 0x102
je 0x1400838f0
jmp 0x1400839bd
mov eax, 0x102
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
mov rdx, qword [r13]
cmp rdx, rcx
jne case.default.0x140083827
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, ecx
xor edx, edx
div r8d
jmp 0x1400838b5
call fcn.140083390
int3
Function at 0x140083e90
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
lea rcx, [0x1400eb108]
call fcn.140083340
mov rax, qword [rsi]
cmp dword [rax], 0xbab1f0ed
jne 0x140083ecf
mov rax, qword [rsi]
cmp dword [rax + 4], 0
jle 0x140083ecf
mov rax, qword [rsi]
dec dword [rax + 4]
lea rcx, [0x1400eb108]
add rsp, 0x30
pop rsi
jmp fcn.140083380
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [rsp + 0x20], 0x28
lea rdx, str.Assertion_failed:___s___file__s__line__d_n
lea r8, str.___rwlock_t__rwl___valid__LIFE_RWLOCK______rwlock_t__rwl___busy___0_
lea r9, str..._mingw_w64_mingw_w64_libraries_winpthreads_src_rwlock.c
mov rcx, rax
call fcn.140083a00
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
int3

Function at 0x140087cd0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], r9
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call rdi
lea rcx, str.libcabi:
mov edx, 0xb
mov r8d, 1
mov r9, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov ecx, 2
call rdi
mov r8, qword [rsp + 0x20]
mov rcx, rax
mov rdx, rsi
call fcn.14008c2c0
mov ecx, 2
call rdi
mov ecx, 0xa
mov rdx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3

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

Disassembly:
mov rax, qword [0x1400c0008]
movzx edx, word [rax]
cmp edx, 0x5a4d
jne 0x14008dadc
movsxd rdx, dword [rax + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x14008dadc
add rax, rdx
movzx edx, word [rax + 0x18]
cmp edx, 0x20b
jne 0x14008dadc
movzx edx, word [rax + 6]
test edx, edx
je 0x14008dadc
sub rcx, qword [0x1400c0008]
movzx r8d, word [rax + 0x14]
add rax, r8
add rax, 0x18
jmp 0x14008dac8
add rax, 0x28
dec edx
je 0x14008dadc
mov r8d, dword [rax + 0xc]
cmp rcx, r8
jb 0x14008dac0
add r8d, dword [rax + 8]
cmp rcx, r8
jae 0x14008dac0
jmp 0x14008dade
xor eax, eax
ret

Function at 0x14008dae0
Capabilities:
Parse pe header

Disassembly:
mov rcx, qword [0x1400c0008]
movzx edx, word [rcx]
xor eax, eax
cmp edx, 0x5a4d
jne 0x14008db15
movsxd rdx, dword [rcx + 0x3c]
cmp dword [rcx + rdx], 0x4550
jne 0x14008db15
movzx r8d, word [rcx + rdx + 0x18]
cmp r8d, 0x20b
jne 0x14008db15
movzx eax, word [rcx + rdx + 6]
ret

Function at 0x14008db90
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400c0008]
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x14008dbbc
movsxd rcx, dword [rax + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x14008dbbc
movzx ecx, word [rax + rcx + 0x18]
cmp ecx, 0x20b
je 0x14008dbbe
xor eax, eax
ret
Function at 0x14008f210
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
movaps xmmword [rsp + 0x80], xmm12
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x60], xmm10
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x20], xmm6
mov rdi, rdx
mov rsi, rcx
cmp byte [0x1422547d3], 1
jne 0x14008f263
cmp byte [0x1422547d2], 0
jne 0x14008f282
jmp 0x14008f2b4
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422547d3], 1
test rax, rax
setne byte [0x1422547d2]
je 0x14008f2b4
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.libunwind:___unw_init_local_cursor_p__context_p__n
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.140083a00
mov ecx, 2
call rbx
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
lea rax, [0x1400c74f0]
mov qword [rsi], rax
lea rax, [0x142253e29]
mov qword [rsi + 8], rax
lea rax, [rsi + 0x580]
lea rcx, [rsi + 0xb0]
xorps xmm0, xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x30], xmm0
movaps xmmword [rsi + 0x40], xmm0
movaps xmmword [rsi + 0x50], xmm0
movaps xmmword [rsi + 0x60], xmm0
movaps xmmword [rsi + 0x70], xmm0
movaps xmmword [rsi + 0x80], xmm0
movaps xmmword [rsi + 0x90], xmm0
mov qword [rsi + 0xa0], 0
movaps xmmword [rsi + 0x580], xmm0
movaps xmmword [rsi + 0x590], xmm0
movaps xmmword [rsi + 0x5a0], xmm0
movaps xmmword [rsi + 0x5b0], xmm0
movaps xmmword [rsi + 0x5c0], xmm0
movaps xmmword [rsi + 0x5d0], xmm0
movaps xmmword [rsi + 0x5e0], xmm0
movaps xmmword [rsi + 0x5f0], xmm0
movaps xmmword [rsi + 0x600], xmm0
movaps xmmword [rsi + 0x610], xmm0
movaps xmmword [rsi + 0x620], xmm0
movaps xmmword [rsi + 0x630], xmm0
movaps xmmword [rsi + 0x640], xmm0
movups xmmword [rsi + 0x649], xmm0
mov qword [rsi + 0x80], rcx
mov qword [rsi + 0x98], rax
mov rbx, qword [rdi]
mov r14, qword [rdi + 8]
mov r15, qword [rdi + 0x80]
movups xmm6, xmmword [rdi + 0x10]
movdqu xmm0, xmmword [rdi + 0x30]
pshufd xmm7, xmm0, 0x4e
movdqu xmm0, xmmword [rdi + 0x20]
pshufd xmm8, xmm0, 0x4e
movups xmm9, xmmword [rdi + 0x40]
movups xmm10, xmmword [rdi + 0x50]
movups xmm11, xmmword [rdi + 0x60]
movups xmm12, xmmword [rdi + 0x70]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov dword [rsi + 0xe0], 0x10000b
mov qword [rsi + 0x128], rbx
movaps xmmword [rsi + 0x130], xmm6
mov qword [rsi + 0x140], r14
movdqu xmmword [rsi + 0x148], xmm7
movdqu xmmword [rsi + 0x158], xmm8
movups xmmword [rsi + 0x168], xmm9
movups xmmword [rsi + 0x178], xmm10
movups xmmword [rsi + 0x188], xmm11
movups xmmword [rsi + 0x198], xmm12
mov qword [rsi + 0x1a8], r15
mov rax, qword [rsi]
mov rcx, rsi
xor edx, edx
call qword [rax + 0x68]
xor eax, eax
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14008f460
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x28
cmp byte [0x1422547d3], 1
jne 0x14008f47c
cmp byte [0x1422547d2], 0
setne al
add rsp, 0x28
ret
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
test rax, rax
setne al
setne byte [0x1422547d2]
mov byte [0x1422547d3], 1
add rsp, 0x28
ret

Function at 0x14008f4b0
Capabilities:
Query environment variable

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, r8
mov edi, edx
mov rbx, rcx
cmp byte [0x1422547d3], 1
jne 0x14008f4d5
cmp byte [0x1422547d2], 0
jne 0x14008f4f4
jmp 0x14008f52d
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422547d3], 1
test rax, rax
setne byte [0x1422547d2]
je 0x14008f52d
mov r14, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call r14
mov qword [rsp + 0x20], rsi
lea rdx, str.libunwind:___unw_get_reg_cursor_p__regNum_d__value_p__n
mov rcx, rax
mov r8, rbx
mov r9d, edi
call fcn.140083a00
mov ecx, 2
call r14
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
mov rax, qword [rbx]
mov rcx, rbx
mov edx, edi
call qword [rax + 0x10]
mov ecx, eax
mov eax, 0xffffe672
test cl, cl
je 0x14008f553
mov rax, qword [rbx]
mov rcx, rbx
mov edx, edi
call qword [rax + 0x18]
mov qword [rsi], rax
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret

Function at 0x14008f560
Capabilities:
Query environment variable

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov rbx, r8
mov edi, edx
mov rsi, rcx
cmp byte [0x1422547d3], 1
jne 0x14008f586
cmp byte [0x1422547d2], 0
jne 0x14008f5a5
jmp 0x14008f5de
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422547d3], 1
test rax, rax
setne byte [0x1422547d2]
je 0x14008f5de
mov r14, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call r14
mov qword [rsp + 0x20], rbx
lea rdx, str.libunwind:___unw_set_reg_cursor_p__regNum_d__value0x_llx__n
mov rcx, rax
mov r8, rsi
mov r9d, edi
call fcn.140083a00
mov ecx, 2
call r14
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
mov rax, qword [rsi]
mov rcx, rsi
mov edx, edi
call qword [rax + 0x10]
mov ebp, 0xffffe672
test al, al
je 0x14008f64f
mov rax, qword [rsi]
mov rcx, rsi
mov edx, edi
mov r8, rbx
call qword [rax + 0x20]
xor ebp, ebp
cmp edi, 0xffffffff
jne 0x14008f64f
mov rax, qword [rsi]
lea rdx, [rsp + 0x28]
mov rcx, rsi
call qword [rax + 0x48]
mov rax, qword [rsi]
xor ebp, ebp
mov rcx, rsi
xor edx, edx
call qword [rax + 0x68]
cmp qword [rsp + 0x48], 0
je 0x14008f64f
mov rax, qword [rsi]
mov rcx, rsi
mov edx, 0xfffffffe
call qword [rax + 0x18]
add rax, qword [rsp + 0x48]
mov r9, qword [rsi]
mov rcx, rsi
mov edx, 0xfffffffe
mov r8, rax
call qword [r9 + 0x20]
mov eax, ebp
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret