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

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
call fcn.140033a70
mov rdi, rax
mov qword [rax + 8], rsi
mov rcx, qword [rax + 0x1d8]
call fcn.140034500
test byte [rdi + 0x40], 0x30
jne 0x14003481c
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 [0x1400f1010]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400348b7
mov rdi, rax
cmp qword [rax + 0x28], 0
jne 0x14003485e
mov dword [rdi], 0xdeadbeef
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140034850
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x30], 0
mov rsi, qword [rdi + 8]
jmp 0x1400348a1
mov rsi, qword [rdi + 8]
mov rcx, qword [rdi + 0x30]
mov dword [rdi + 0xbc], 1
test rcx, rcx
je 0x14003487b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x30], 0
test byte [rdi + 0x44], 4
je 0x1400348b7
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.1400348c0
mov ecx, dword [0x1400f1010]
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 0x140035360
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
sub rsp, 0x28
cmp dword [0x1400f148c], 1
jne 0x140035376
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1400f1018]
call fcn.140086060
mov rcx, qword [0x1400f14b0]
test rcx, rcx
je 0x1400353b3
lea rax, [0x1400f148c]
nop word cs:[rax + rax]
mov rsi, rcx
cmp qword [rcx], rax
je 0x1400353fd
mov rcx, qword [rsi + 0x18]
test rcx, rcx
jne 0x1400353a0
jmp 0x1400353b5
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, [0x1400f148c]
mov qword [rdi], rax
mov dword [rdi + 0x10], 1
lea rax, [rsi + 0x18]
test rsi, rsi
lea rcx, [0x1400f14b0]
cmovne rcx, rax
mov qword [rcx], rdi
lea rcx, [rdi + 8]
xor edx, edx
call fcn.140085e30
mov rsi, rdi
jmp 0x140035400
inc dword [rsi + 0x10]
lea rcx, [0x1400f1018]
call fcn.1400860a0
lea rdi, [rsi + 8]
mov rcx, rdi
call fcn.140085bb0
mov eax, dword [0x1400f148c]
cmp eax, 1
je 0x14003546c
test eax, eax
jne 0x140035444
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1400f1010], eax
cmp eax, 0xffffffff
je 0x140035482
mov dword [0x1400f148c], 1
jmp 0x14003546c
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, dword [0x1400f148c]
lea r8, [0x1400f148c]
lea rdx, str._once__p_is__d_n
mov rcx, rax
call fcn.140086720
mov rcx, rdi
call fcn.140085d20
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.140034090
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3
Function at 0x1400359a0
Capabilities:
Print debug messages

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov rdi, qword [0x1400c51a0]
mov rax, qword [rdi]
xor rax, rsp
mov qword [rsp + 0x90], rax
test rcx, rcx
je 0x1400359d7
mov rsi, rcx
call fcn.140086050
cmp eax, 1
je 0x1400359f9
mov qword [rsi], 0xffffffffffffffff
mov rax, qword [rsp + 0x90]
xor rax, rsp
mov rcx, qword [rdi]
cmp rcx, rax
jne 0x1400359f4
add rsp, 0x98
pop rdi
pop rsi
ret
call fcn.1400860b0
movups xmm0, xmmword [0x1400c518b]
movups xmmword [rsp + 0x7b], xmm0
movaps xmm0, xmmword [0x1400c5180]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [0x1400c5170]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x1400c5160]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x1400c5150]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [0x1400c5140]
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 0x140035a83
cmp byte [rsp + rcx + 0x20], 0
jne 0x140035a70
cmp rcx, 0x69
ja 0x140035a90
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 0x140035ab0
Capabilities:
Print debug messages

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb0
mov r15, qword [0x1400c51a0]
mov rax, qword [r15]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov edi, 3
test rcx, rcx
je 0x140035b6e
mov rsi, rdx
mov rbx, rcx
lea rcx, section..data
call fcn.140085bb0
mov rcx, qword [0x1400f1498]
test rcx, rcx
je 0x140035b62
cmp rcx, 1
jne 0x140035b17
mov rax, qword [0x1400f14a0]
cmp qword [rax + 8], rbx
jne 0x140035b62
jmp 0x140035b99
dec rcx
mov rax, qword [0x1400f14a0]
xor edx, edx
jmp 0x140035b3b
inc r8
mov rdx, r8
cmp rdx, rcx
ja 0x140035b62
lea r8, [rdx + rcx]
shr r8, 1
mov r9, r8
shl r9, 4
cmp qword [rax + r9 + 8], rbx
je 0x140035b96
jbe 0x140035b30
cmp r8, rdx
je 0x140035b62
dec r8
mov rcx, r8
cmp rdx, rcx
jbe 0x140035b3b
lea rcx, section..data
call fcn.140085d20
mov rax, qword [rsp + 0xa8]
xor rax, rsp
mov rcx, qword [r15]
cmp rcx, rax
jne 0x140035c72
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.140085d20
test r14, r14
je 0x140035b6e
mov rcx, qword [r14 + 0x28]
test rcx, rcx
je 0x140035b6e
lea rdx, [rsp + 0x2c]
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x140035b6e
mov edi, 0x16
test byte [r14 + 0x44], 4
jne 0x140035b6e
call fcn.140033a70
test rax, rax
je 0x140035be4
mov rax, qword [rax + 0x1d8]
jmp 0x140035be6
xor eax, eax
mov edi, 0x24
cmp rax, rbx
je 0x140035b6e
cmp dword [r14 + 0xbc], 0
mov rcx, qword [r14 + 0x28]
je 0x140035c0c
lea rax, [rcx + 1]
cmp rax, 2
jb 0x140035c1b
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 0x140035c30
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14 + 0x30], 0
test rsi, rsi
je 0x140035c44
mov rax, qword [r14 + 8]
mov qword [rsi], rax
lea rcx, [r14 + 0x38]
call fcn.140085ec0
lea rcx, [r14 + 0x68]
call fcn.140086050
cmp eax, 1
je 0x140035c77
mov qword [r14 + 0x68], 0xffffffffffffffff
mov rcx, r14
call fcn.1400348c0
xor edi, edi
jmp 0x140035b6e
call fcn.1400860b0
movups xmm0, xmmword [0x1400c518b]
movups xmmword [rsp + 0x8b], xmm0
movaps xmm0, xmmword [0x1400c5180]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [0x1400c5170]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [0x1400c5160]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x1400c5150]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x1400c5140]
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 0x140035d02
cmp byte [rsp + rcx + 0x30], 0
jne 0x140035cef
cmp rcx, 0x69
ja 0x140035d0f
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 0x1400854a0
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.14008efe0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3

Function at 0x1400860b0
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 0x1400860e0
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 0x1400862c0
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 [0x1400c51a0]
mov rax, qword [r15]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea eax, [rbx + 1]
cmp eax, 1
ja 0x14008631f
mov rax, qword [rsp + 0x30]
xor rax, rsp
mov rcx, qword [r15]
cmp rcx, rax
jne case.default.0x140086318
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 [0x1400f1550]
test rax, rax
je 0x140086335
call rax
mov rdi, rax
xor r12d, r12d
jmp 0x1400863a9
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14008639a
mov r12, qword [rsp + 0x28]
test r12, r12
jle 0x1400863a1
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400863a1
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 0x1400864c5
mov rax, rcx
cqo
idiv r8
mov rdi, rax
jmp 0x1400863a9
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 0x1400864a4
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 [0x1400f1550]
test rax, rax
je 0x140086400
call rax
jmp 0x140086484
test r12, r12
je 0x14008644a
test r12, r12
jle 0x140086480
mov rcx, r14
call r13
test eax, eax
je 0x140086480
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 0x140086465
mov rax, rcx
cqo
idiv r8
jmp 0x140086484
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14008646e
mov r12, qword [rsp + 0x28]
test r12, r12
jg 0x14008640a
jmp 0x140086480
mov eax, ecx
xor edx, edx
div r8d
jmp 0x140086484
mov r12, 0xffffffffffffffff
nop word cs:[rax + rax]
call rbp
mov eax, eax
cmp rdi, rax
jbe 0x14008649f
mov edx, edi
sub edx, eax
mov rcx, rsi
call rbx
cmp eax, 0x102
je 0x1400863e0
jmp 0x1400864a4
mov eax, 0x102
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
mov rdx, qword [r15]
cmp rdx, rcx
jne case.default.0x140086318
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 0x1400863a7
call fcn.1400860b0
int3
Function at 0x1400864e0
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 [0x1400c51a0]
mov rax, qword [r13]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea eax, [r15 + 1]
cmp eax, 1
ja 0x14008654e
mov rax, qword [rsp + 0x30]
xor rax, rsp
mov rcx, qword [r13]
cmp rcx, rax
jne case.default.0x140086547
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 [0x1400f1550]
test rax, rax
je 0x140086563
call rax
mov r14, rax
xor ebp, ebp
jmp 0x1400865d8
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400865c8
mov rbp, qword [rsp + 0x28]
test rbp, rbp
jle 0x1400865cf
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400865cf
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 0x1400866ff
mov rax, rcx
cqo
idiv r8
mov r14, rax
jmp 0x1400865d8
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 0x1400866dd
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 [0x1400f1550]
test rax, rax
je 0x140086630
call rax
jmp 0x1400866b5
test rbp, rbp
je 0x14008667f
test rbp, rbp
jle 0x1400866b0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400866b0
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 0x14008669a
mov rax, rcx
cqo
idiv r8
jmp 0x1400866b5
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400866a3
mov rbp, qword [rsp + 0x28]
test rbp, rbp
jg 0x14008663a
jmp 0x1400866b0
mov eax, ecx
xor edx, edx
div r8d
jmp 0x1400866b5
mov rbp, 0xffffffffffffffff
nop word [rax + rax]
call r15
mov eax, eax
cmp r14, rax
jbe 0x1400866d8
mov r9d, r14d
sub r9d, eax
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
call r12
cmp eax, 0x102
je 0x140086610
jmp 0x1400866dd
mov eax, 0x102
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
mov rdx, qword [r13]
cmp rdx, rcx
jne case.default.0x140086547
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 0x1400865d5
call fcn.1400860b0
int3
Function at 0x140086bb0
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
lea rcx, [0x1400f1108]
call fcn.140086060
mov rax, qword [rsi]
cmp dword [rax], 0xbab1f0ed
jne 0x140086bef
mov rax, qword [rsi]
cmp dword [rax + 4], 0
jle 0x140086bef
mov rax, qword [rsi]
dec dword [rax + 4]
lea rcx, [0x1400f1108]
add rsp, 0x30
pop rsi
jmp fcn.1400860a0
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.140086720
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
int3

Function at 0x14008a9f0
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.14008efe0
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 0x140090790
Capabilities:
Enumerate pe sections
Parse pe header

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

Function at 0x140090800
Capabilities:
Parse pe header

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

Function at 0x1400908b0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1400c5008]
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x1400908dc
movsxd rcx, dword [rax + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x1400908dc
movzx ecx, word [rax + rcx + 0x18]
cmp ecx, 0x20b
je 0x1400908de
xor eax, eax
ret
Function at 0x140091f30
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 [0x1422587e3], 1
jne 0x140091f83
cmp byte [0x1422587e2], 0
jne 0x140091fa2
jmp 0x140091fd4
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422587e3], 1
test rax, rax
setne byte [0x1422587e2]
je 0x140091fd4
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.140086720
mov ecx, 2
call rbx
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
lea rax, [0x1400cc4f0]
mov qword [rsi], rax
lea rax, [0x142257e39]
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 0x140092180
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x28
cmp byte [0x1422587e3], 1
jne 0x14009219c
cmp byte [0x1422587e2], 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 [0x1422587e2]
mov byte [0x1422587e3], 1
add rsp, 0x28
ret

Function at 0x1400921d0
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 [0x1422587e3], 1
jne 0x1400921f5
cmp byte [0x1422587e2], 0
jne 0x140092214
jmp 0x14009224d
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422587e3], 1
test rax, rax
setne byte [0x1422587e2]
je 0x14009224d
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.140086720
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 0x140092273
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 0x140092280
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 [0x1422587e3], 1
jne 0x1400922a6
cmp byte [0x1422587e2], 0
jne 0x1400922c5
jmp 0x1400922fe
lea rcx, str.LIBUNWIND_PRINT_APIS
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov byte [0x1422587e3], 1
test rax, rax
setne byte [0x1422587e2]
je 0x1400922fe
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.140086720
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 0x14009236f
mov rax, qword [rsi]
mov rcx, rsi
mov edx, edi
mov r8, rbx
call qword [rax + 0x20]
xor ebp, ebp
cmp edi, 0xffffffff
jne 0x14009236f
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 0x14009236f
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