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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, ecx
mov rax, qword [0x14019c018]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rax, [0x140118160]
mov qword [rsp + 0x20], rax
lea rcx, [0x1401b02d8]
lea rdx, [0x140117f80]
lea r8, [rsp + 0x20]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x140118154
cmp dword [0x1401b02e0], 0
je 0x140118111
xor esi, esi
jmp 0x14011813c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, dword [0x1401b02e4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x14011810d
movsxd rax, esi
mov rsi, qword [rdi + rax*8]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140135280
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
call fcn.140149890
int3

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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov rsi, rdx
mov r14d, ecx
mov rax, qword [0x14019c018]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea rax, [0x140118160]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401b02d8]
lea rdx, [0x140117f80]
lea r8, [rsp + 0x28]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x1401182ad
cmp dword [0x1401b02e0], 0
je 0x1401181fd
mov rcx, rsi
mov rax, rdi
call qword [0x1401bf010]
xor esi, esi
jmp 0x140118251
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, dword [0x1401b02e4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rbx, rbx
je 0x14011826d
lea r15, [0x1401b02e8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
movsxd rbp, r14d
lea rax, [0x1401b02f0]
mov qword [rax + rbp*8], rdi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rbx + rbp*8], rsi
mov esi, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140135280
mov eax, esi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 0x20
call fcn.1401179f0
test rax, rax
je 0x1401181ed
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov ecx, dword [0x1401b02e4]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140118221
mov rcx, rbx
call fcn.140117a30
jmp 0x1401181ed
call fcn.140149890
int3

Function at 0x140120830
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [0x1401b0418]
cmp rsi, 1
ja 0x140120890
lea rcx, [0x1401b0418]
call fcn.1400a4d50
test al, al
je 0x140120889
mov qword [0x1401b0420], 0
lea rdi, [0x1401b0418]
lea rsi, [0x1401b0420]
mov rcx, rsi
xor edx, edx
call fcn.14009d290
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.1400a4e00
jmp 0x140120890
mov rsi, qword [0x1401b0418]
mov rcx, rsi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.14009d240
Function at 0x1401208a0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov eax, dword [0x1401b0430]
mov ecx, dword [0x1401a559c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140120929
lea rcx, [0x1401b0428]
call fcn.14009d200
test rax, rax
jne 0x140120916
mov ecx, 4
call fcn.140134998
mov rdi, rax
mov dword [rax], 0
lea rbx, [0x1401b0428]
mov rcx, rbx
call fcn.14009d200
mov rsi, rax
mov rcx, rbx
mov rdx, rdi
call fcn.14009d240
test rsi, rsi
je 0x140120916
mov rcx, rsi
call fcn.1401349d4
lea rcx, [0x1401b0428]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14009d200
lea rcx, [0x1401b0430]
call fcn.140134af0
cmp dword [0x1401b0430], 0xffffffff
jne 0x1401208c8
mov qword [0x1401b0428], 0
lea rcx, [0x1401b0428]
lea rdx, [0x140064e70]
call fcn.14009d290
lea rcx, [0x1401b0430]
call fcn.140134b88
jmp 0x1401208c8
Function at 0x140127446
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov rax, qword [0x14019c018]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x140173f60]
lea rbx, [rsp + 0x160]
movaps xmmword [rbx + 0x30], xmm0
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
lea rdi, [rcx + 0x18]
mov rcx, rdi
call fcn.14001d36c
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, rbx
call fcn.140132628
test al, al
je 0x140127514
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x14012755d
mov rcx, rdi
call fcn.14001d36c
movsxd rdi, dword [rsp + 0x19c]
add rdi, rax
mov r8d, 0x108
mov rcx, rsi
mov rdx, rdi
mov r9, r15
call fcn.140132628
test al, al
je 0x1401275a6
cmp dword [r15], 0x4550
jne 0x1401275e9
mov sil, 1
test r14, r14
je 0x140127654
mov qword [r14], rdi
jmp 0x140127654
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127652
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
jmp 0x140127629
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127652
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x140127629
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127652
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x140127552
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127652
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
call fcn.14001df3c
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x14012763f
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.14001df3c
mov rcx, rdi
call fcn.14006cd80
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.140135280
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140127676
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov rax, qword [0x14019c018]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x140173f60]
lea rbx, [rsp + 0x160]
movaps xmmword [rbx + 0x30], xmm0
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
lea rdi, [rcx + 0x18]
mov rcx, rdi
call fcn.14001d36c
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, rbx
call fcn.140132628
test al, al
je 0x140127744
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x14012778d
mov rcx, rdi
call fcn.14001d36c
movsxd rdi, dword [rsp + 0x19c]
add rdi, rax
mov r8d, 0xf8
mov rcx, rsi
mov rdx, rdi
mov r9, r15
call fcn.140132628
test al, al
je 0x1401277d6
cmp dword [r15], 0x4550
jne 0x140127819
mov sil, 1
test r14, r14
je 0x140127884
mov qword [r14], rdi
jmp 0x140127884
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127882
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
jmp 0x140127859
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127882
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x140127859
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127882
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x140127782
mov ecx, 1
call fcn.14006c840
test al, al
je 0x140127882
lea rdx, str..._.._third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.14006c8f0
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
call fcn.14001df3c
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x14012786f
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.14001df3c
mov rcx, rdi
call fcn.14006cd80
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.140135280
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14012a298
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov dword [rcx + 0x48], 0x1003f
mov eax, dword [rdx + 0x234]
mov dword [rcx + 0x4c], eax
mov eax, dword [rdx + 0x238]
mov dword [rcx + 0x50], eax
mov eax, dword [rdx + 0x23c]
mov dword [rcx + 0x54], eax
mov eax, dword [rdx + 0x240]
mov dword [rcx + 0x58], eax
mov eax, dword [rdx + 0x24c]
mov dword [rcx + 0x5c], eax
mov eax, dword [rdx + 0x250]
mov dword [rcx + 0x60], eax
lea rdx, [rcx + 0x64]
lea rbx, [rdi + 0x34]
mov rcx, rbx
call fcn.14012496c
movzx eax, word [rdi + 0x30]
mov dword [rsi + 0xd4], eax
movzx eax, word [rdi + 0x2e]
mov dword [rsi + 0xd8], eax
movzx eax, word [rdi + 0x2c]
mov dword [rsi + 0xdc], eax
movzx eax, word [rdi + 0x2a]
mov dword [rsi + 0xe0], eax
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0xe4], eax
mov eax, dword [rdi + 0x14]
mov dword [rsi + 0xe8], eax
mov eax, dword [rdi + 4]
mov dword [rsi + 0xec], eax
mov eax, dword [rdi + 0xc]
mov dword [rsi + 0xf0], eax
mov eax, dword [rdi + 8]
mov dword [rsi + 0xf4], eax
mov eax, dword [rdi]
mov dword [rsi + 0xf8], eax
mov eax, dword [rdi + 0x18]
mov dword [rsi + 0xfc], eax
mov eax, dword [rdi + 0x20]
mov dword [rsi + 0x100], eax
movzx eax, word [rdi + 0x28]
mov dword [rsi + 0x104], eax
mov eax, dword [rdi + 0x24]
mov dword [rsi + 0x108], eax
mov eax, dword [rdi + 0x1c]
mov dword [rsi + 0x10c], eax
movzx eax, word [rdi + 0x32]
mov dword [rsi + 0x110], eax
add rsi, 0x114
mov r8d, 0x200
mov rcx, rsi
mov rdx, rbx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.1401379e0
Function at 0x140001190
Capabilities:
Get thread local storage value

Disassembly:
jmp 0x1401d9110
mov dword [rsp + 8], ecx
sub rsp, 0x38
call fcn.1401d8120
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x1401d9145
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x28]
call qword [0x1402f0010]
jmp 0x1401d914f
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
add rsp, 0x38
ret
Function at 0x1400014e7
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140150500
mov rax, rcx
neg rcx
test rax, 7
je 0x14015051d
nop
mov dl, byte [rax]
inc rax
test dl, dl
je 0x140150578
test al, 7
jne 0x140150510
movabs r8, 0x7efefefefefefeff
movabs r11, 0x8101010101010100
mov rdx, qword [rax]
mov r9, r8
add rax, 8
add r9, rdx
not rdx
xor rdx, r9
and rdx, r11
je 0x140150531
mov rdx, qword [rax - 8]
test dl, dl
je 0x1401505a2
test dh, dh
je 0x14015059c
shr rdx, 0x10
test dl, dl
je 0x140150596
test dh, dh
je 0x140150590
shr rdx, 0x10
test dl, dl
je 0x14015058a
test dh, dh
je 0x140150584
shr edx, 0x10
test dl, dl
je 0x14015057e
test dh, dh
jne 0x140150531
lea rax, [rax + rcx - 1]
ret
lea rax, [rax + rcx - 2]
ret
lea rax, [rax + rcx - 3]
ret
lea rax, [rax + rcx - 4]
ret
lea rax, [rax + rcx - 5]
ret
lea rax, [rax + rcx - 6]
ret
lea rax, [rax + rcx - 7]
ret
lea rax, [rax + rcx - 8]
ret

Function at 0x1400015fa
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x1400e6540
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rdx, qword [rsp + 0x30]
mov ecx, dword [0x1402ce6c0]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
add rsp, 0x28
ret
Function at 0x140001c49
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x1400bcc40
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x48
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1400bcc8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000a312
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140001898
lea rdx, [0x1402c70b0]
lea rcx, [rsp + 0x20]
call fcn.14000625d
add rsp, 0x48
ret
Function at 0x14000264e
Capabilities:
Terminate process

Disassembly:
jmp 0x1400b0d30
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140002964
Capabilities:
Enumerate processes

Disassembly:
jmp 0x14003a310
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x6c8
lea rbp, [rsp + 0x20]
mov rdi, rsp
mov ecx, 0x1b2
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x6e8]
mov qword [rbp + 0x668], 0xfffffffffffffffe
mov rax, qword [0x1402c80b8]
xor rax, rbp
mov qword [rbp + 0x690], rax
mov dword [rbp + 0x644], 0
lea rcx, [0x1402ef0b0]
call fcn.14000236f
mov edx, 0x20
lea rcx, [rbp + 8]
call fcn.14000305d
lea rcx, [rbp + 8]
call fcn.1400098e5
nop
xor edx, edx
mov ecx, 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0xffffffffffffffff
jne 0x14003a3f1
lea rdx, str.Failed_to_create_process_snapshot.
lea rcx, [0x1402cd080]
call fcn.140003a67
lea rdx, [0x14000347c]
mov rcx, rax
call fcn.140005afb
lea rdx, [rbp + 8]
mov rcx, qword [rbp + 0x6c0]
call fcn.14000135c
mov eax, dword [rbp + 0x644]
or eax, 1
mov dword [rbp + 0x644], eax
lea rcx, [rbp + 8]
call fcn.1400031d9
mov rax, qword [rbp + 0x6c0]
jmp 0x14003a521
mov dword [rbp + 0x70], 0x238
lea rdx, [rbp + 0x70]
mov rcx, qword [rbp + 0x48]
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x14003a4e8
lea rdx, [rbp + 0x9c]
lea rcx, [rbp + 0x2c8]
call fcn.140001c8f
nop
lea rax, [rbp + 0x5a8]
mov qword [rbp + 0x5d8], rax
lea rax, [rbp + 0x5f8]
mov qword [rbp + 0x628], rax
lea rcx, [rbp + 0x584]
call fcn.140007b26
mov qword [rbp + 0x678], rax
mov rdx, qword [rbp + 0x5d8]
lea rcx, [rbp + 0x2c8]
call fcn.1400034fe
mov qword [rbp + 0x680], rax
mov rdx, qword [rbp + 0x628]
lea rcx, [rbp + 0x2c8]
call fcn.140007c5c
mov qword [rbp + 0x688], rax
mov rax, qword [rbp + 0x678]
mov r9, rax
mov r8, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x688]
lea rcx, [rbp + 0x308]
call fcn.140009c1e
nop
lea rdx, [rbp + 0x308]
lea rcx, [rbp + 8]
call fcn.1400054fc
nop
lea rcx, [rbp + 0x308]
call fcn.140004ee4
nop
lea rcx, [rbp + 0x2c8]
call fcn.140007dba
lea rdx, [rbp + 0x70]
mov rcx, qword [rbp + 0x48]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x14003a40d
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp + 8]
mov rcx, qword [rbp + 0x6c0]
call fcn.14000135c
mov eax, dword [rbp + 0x644]
or eax, 1
mov dword [rbp + 0x644], eax
lea rcx, [rbp + 8]
call fcn.1400031d9
mov rax, qword [rbp + 0x6c0]
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x14023cc20]
call fcn.1400092b9
mov rax, rdi
mov rcx, qword [rbp + 0x690]
xor rcx, rbp
call fcn.140002fd1
lea rsp, [rbp + 0x6a8]
pop rdi
pop rbp
ret
Function at 0x140002edc
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x1401d9170
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x38
call fcn.1401d8160
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x1401d91af
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x28]
call qword [0x1402f0010]
jmp 0x1401d91be
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
add rsp, 0x38
ret
Function at 0x1400035c1
Capabilities:
Create process on windows

Disassembly:
jmp 0x1401e0240
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x118
lea rcx, [rsp + 0xe0]
call fcn.140009de5
lea rcx, [rsp + 0xb0]
call fcn.140009de5
lea rcx, [rsp + 0x80]
call fcn.140009de5
call fcn.1400092be
mov r8d, eax
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x120]
call fcn.140001e01
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x1401e02e2
mov dword [rsp + 0x54], 0
lea rcx, [rsp + 0x80]
call fcn.140009764
lea rcx, [rsp + 0xb0]
call fcn.140009764
lea rcx, [rsp + 0xe0]
call fcn.140009764
mov eax, dword [rsp + 0x54]
jmp 0x1401e047e
call fcn.1400092be
mov r8d, eax
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x128]
call fcn.140001e01
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
je 0x1401e0342
mov dword [rsp + 0x5c], 0
lea rcx, [rsp + 0x80]
call fcn.140009764
lea rcx, [rsp + 0xb0]
call fcn.140009764
lea rcx, [rsp + 0xe0]
call fcn.140009764
mov eax, dword [rsp + 0x5c]
jmp 0x1401e047e
mov qword [rsp + 0x70], 0
cmp qword [rsp + 0x158], 0
je 0x1401e03c8
call fcn.1400092be
mov r8d, eax
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x158]
call fcn.140001e01
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
je 0x1401e03b6
mov dword [rsp + 0x64], 0
lea rcx, [rsp + 0x80]
call fcn.140009764
lea rcx, [rsp + 0xb0]
call fcn.140009764
lea rcx, [rsp + 0xe0]
call fcn.140009764
mov eax, dword [rsp + 0x64]
jmp 0x1401e047e
lea rcx, [rsp + 0x80]
call fcn.14000a015
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xb0]
call fcn.14000a015
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0xe0]
call fcn.14000a015
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x148]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x140]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0x138]
mov r8, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x78]
mov rdx, rcx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x80]
call fcn.140009764
lea rcx, [rsp + 0xb0]
call fcn.140009764
lea rcx, [rsp + 0xe0]
call fcn.140009764
mov eax, dword [rsp + 0x68]
add rsp, 0x118
ret

Function at 0x140003b34
Capabilities:
Allocate thread local storage

Disassembly:
jmp 0x14011c2e0
sub rsp, 0x48
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1402ce6c0], eax
cmp dword [0x1402ce6c0], 0xffffffff
jne 0x14011c323
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000a312
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140001898
lea rdx, [0x1402c70b0]
lea rcx, [rsp + 0x20]
call fcn.14000625d
add rsp, 0x48
ret
Function at 0x140003f4e
Capabilities:
Print debug messages

Disassembly:
jmp 0x140205640
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x30]
mov rax, qword [0x1402c80b8]
xor rax, rbp
mov qword [rbp + 0x18], rax
cmp qword [rbp + 0x30], 0
jne 0x140205666
jmp 0x1402056e3
mov rcx, qword [rbp + 0x30]
call fcn.1400014e7
inc rax
mov qword [rbp], rax
cmp qword [rbp], 0
jne 0x14020567f
jmp 0x1402056e3
mov rax, qword [rbp]
shl rax, 1
mov rcx, rax
add rcx, 0xf
cmp rcx, rax
ja 0x14020569c
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14000a02e
sub rsp, rax
lea rax, [rsp + 0x30]
mov qword [rbp + 8], rax
mov rax, qword [rbp]
dec rax
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp]
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x10]
call fcn.140006866
test eax, eax
jne 0x1402056e3
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rbp + 0x18]
xor rcx, rbp
call fcn.140002fd1
lea rsp, [rbp + 0x20]
pop rbp
ret

Function at 0x1400044da
Capabilities:
Query environment variable

Disassembly:
jmp 0x1401f989c
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor r14d, r14d
mov rbx, rax
test rax, rax
je 0x1401f9984
mov rsi, rax
cmp word [rax], r14w
je 0x1401f98ef
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], r14w
jne 0x1401f98d7
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], r14w
jne 0x1401f98d3
mov qword [rsp + 0x38], r14
sub rsi, rbx
mov qword [rsp + 0x30], r14
add rsi, 2
sar rsi, 1
mov r8, rbx
mov r9d, esi
mov dword [rsp + 0x28], r14d
xor edx, edx
mov qword [rsp + 0x20], r14
xor ecx, ecx
call fcn.140008599
movsxd rbp, eax
test eax, eax
je 0x1401f9984
mov r9d, 0x66
lea r8, str.minkernelcrtsucrt_srcdesktopcrtenvget_environment_from_os.cpp
mov rcx, rbp
lea edx, [r9 - 0x64]
call fcn.14000493f
mov rdi, rax
test rax, rax
je 0x1401f9972
mov qword [rsp + 0x38], r14
mov r9d, esi
mov qword [rsp + 0x30], r14
mov r8, rbx
mov dword [rsp + 0x28], ebp
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.140008599
test eax, eax
je 0x1401f9972
mov rsi, rdi
mov rdi, r14
jmp 0x1401f9975
mov rsi, r14
mov edx, 2
mov rcx, rdi
call fcn.140008a35
jmp 0x1401f9987
mov rsi, r14
test rbx, rbx
je 0x1401f9995
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rbx, qword [rsp + 0x50]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x140005696
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x140104700
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov r8d, 0x800
xor edx, edx
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140104754
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
cmp eax, 0x57
jne 0x140104754
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
nop
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x14010483d
lea rdx, str.RegisterTraceGuidsW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
lea rdx, str.UnregisterTraceGuids
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rax
lea rdx, str.TraceEvent
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x10], rax
lea rdx, str.GetTraceLoggerHandle
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x18], rax
lea rdx, str.GetTraceEnableLevel
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x20], rax
lea rdx, str.GetTraceEnableFlags
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, rax
call fcn.140009f34
nop
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x40]
add rsp, 0x38
ret