joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005fe50
Capabilities:
Receive data
Receive data on socket

Disassembly:
cmp dword [rcx], 2
jne 0x14005fe62
add rcx, 8
jmp fcn.140096ac0
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rdi, r8
mov rsi, rcx
mov qword [rcx + 0x38], rdx
mov rcx, r8
call fcn.14005fff6
mov rbx, rax
mov r14, rdx
lea r15, [rsp + 0x28]
mov rcx, rsi
call fcn.1400600ca
test rdx, rdx
jne 0x14005ff05
mov rcx, r15
mov rdx, rsi
call fcn.14005e958
mov eax, dword [rsp + 0x28]
cmp eax, 2
je 0x14005ff99
test eax, eax
je 0x14005ff05
cmp qword [rsi + 0x110], 0
je 0x14005fee8
mov rcx, r15
mov rdx, rsi
call fcn.14005f680
cmp qword [rsp + 0x28], 0
jne 0x14005ff99
cmp qword [rsp + 0x30], 0
je 0x14005ff05
and qword [rsi + 0x110], 0
mov rcx, r15
mov rdx, rsi
call fcn.14005f883
cmp byte [rsp + 0x28], 0
jne 0x14005ff99
cmp byte [rsp + 0x29], 0
je 0x14005fe8e
mov rcx, rsi
call fcn.1400600ca
mov r15, rdx
test rax, rax
je 0x14005ff9e
mov r13, rax
cmp r14, r15
mov r12, r15
cmovb r12, r14
lea r9, [0x1400d4118]
mov rcx, r12
mov rdx, rbx
mov r8, r14
call fcn.14005f637
mov rbx, rax
mov r14, rdx
lea r9, [0x1400d4130]
mov rcx, r13
mov rdx, r15
mov r8, r12
call fcn.140020efe
mov r9, rdx
lea rcx, [0x1400d4148]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.14002f32d
mov rax, qword [rsi + 0x58]
add rax, r12
cmp rax, qword [rsi + 0x50]
ja 0x14005ffdd
mov qword [rsi + 0x58], rax
mov rcx, rdi
mov rdx, r12
call fcn.140060063
and qword [rsi + 0x38], 0
xor r15d, r15d
jmp 0x14005ffc8
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
mov rcx, r15
call fcn.1400131e3
and qword [rsi + 0x38], 0
cmp al, 0xd
jne 0x14005ffc8
lea rcx, [rsp + 0x28]
call fcn.140022ff7
mov eax, 1
xor r15d, r15d
jmp 0x14005ffca
xor eax, eax
mov rdx, r15
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1400d4286]
lea r8, [0x1400d42c8]
mov edx, 0x3b
call fcn.1400a1200
int3

Function at 0x14006337c
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push rbp
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov r15, r8
mov rbx, rdx
mov qword [rsp + 0x58], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
je 0x1400633c8
cmp eax, 3
jne case.default.0x1400633c6
lea r12, [rbx + 0x1f0]
movzx eax, byte [rbx + 0x280]
lea rcx, [0x140107680]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbx + 0x10], rax
adc byte [r8 - 0x77], cl
sbb byte [r8 - 0x7d], cl
invalid
and byte [rax], al
mov qword [rbx + 0x40], rax
xor edi, edi
jmp 0x1400633fc
lea rcx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainC:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_util_0.7.10_srcutilpoll_buf.rs
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientconnecthttp.rs
Function at 0x140076ee8
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, r8
mov rdi, rdx
mov rsi, rcx
lea r15, [rsp + 0x58]
mov r8d, 0xb
mov rcx, r15
mov rdx, rax
call fcn.14007702b
lea r12, [rsp + 0x38]
mov dword [r12], 0x800
lea rbx, [rsp + 0x3c]
and dword [rbx], 0
mov ecx, 0x800
call fcn.14002ef6e
lea r14, [rsp + 0x40]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
mov r15, qword [r15 + 8]
mov r13, qword [sym.imp.advapi32.dll_RegQueryValueExW]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdx
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9, rbx
call r13
cmp eax, 0xea
jne 0x140076f84
mov edx, dword [rsp + 0x38]
mov rcx, r14
call fcn.1400810e1
mov rdx, qword [rsp + 0x48]
jmp 0x140076f51
test eax, eax
jne 0x140076fa6
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
jbe 0x140076fd0
movabs rax, 0xde00000002
jmp 0x140076fae
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.14002b041
jmp 0x140076fe4
mov rcx, qword [rsp + 0x50]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
mov byte [rsi + 0x18], al
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.14005c673
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14007cc50
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae fcn.140009160
cmp rax, rcx
je 0x14007cc75
cmp rdx, 4
jae 0x14007cc78
xor eax, eax
xor r8d, r8d
jmp 0x14007cd10
xor eax, eax
ret
mov r8d, edx
and r8d, 0x1c
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1400a5670]
movdqa xmm3, xmmword [0x1400a5680]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x14007cca0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x14007cd27
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x14007cd10
ret
Function at 0x140080785
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x68], 4
mov dword [rsp + 0xb0], 0x400010
movabs rax, 0x8000000000000000
cmp qword [rcx + 0x18], rax
je 0x1400807f3
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x90], edx
mov rdx, qword [rcx + 0x20]
mov qword [rsp + 0x98], rdx
cmp qword [rcx + 0x30], rax
je 0x14008082e
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x140080825
mov r8, qword [rcx + 0x38]
xor edx, edx
lea r9, [0x1401064d0]
xor r10d, r10d
movzx r11d, byte [r8 + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp rax, r10
jne 0x140080812
jmp 0x140080827
xor edx, edx
mov dword [rsp + 0xa0], edx
mov r15, qword [rcx + 0x10]
lea rsi, [r15*8]
test r15, r15
je 0x140080880
mov rax, r15
shr rax, 0x3c
jne 0x140080942
mov rbx, qword [rcx + 8]
mov ecx, 8
mov rdx, rsi
call fcn.140091bd6
test rax, rax
je 0x140080947
add byte [rax], al
mov rdi, rax
xor eax, eax
mov rcx, qword [rbx + rax*8]
mov qword [rdi + rax*8], rcx
inc rax
cmp r15, rax
jne 0x14008086b
mov eax, r15d
jmp 0x140080887
xor eax, eax
mov edi, 8
lea rcx, [rsp + 0x68]
mov dword [rcx + 4], eax
mov qword [rcx + 8], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
and al, 0x38
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rcx
and qword [rsp + 0x40], 0
lea rdx, [0x1400d9963]
adc eax, 0x590ac
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.secur32.dll_AcquireCredentialsHandleA]
test eax, eax
je 0x1400808de
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov r14d, 1
jmp 0x140080916
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov ecx, 8
mov edx, 0x20
call fcn.140091bd6
test rax, rax
je 0x140080954
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r12
xor r14d, r14d
test r15, r15
je 0x14008092b
mov edx, 8
mov rcx, rdi
mov r8, rsi
mov eax, esi
call fcn.140001ea3
mov rax, r14
mov rdx, rbx
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rdi
ret
call fcn.140006370
mov ecx, 8
mov rdx, rsi
call fcn.1400a0ea0
mov ecx, 8
mov edx, 0x20
add byte [rax], al
call fcn.1400a0ea0
int3
Function at 0x140082d84
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov eax, edx
lea r9, [rsp + 0x34]
mov dword [r9], r8d
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, eax
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140082db1
xor eax, eax
jmp 0x140082db6
call fcn.14002f9bf
nop
add rsp, 0x38
ret
Function at 0x140088650
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
in al, dx
and byte [rdi + rcx - 0x4a], al
cmp byte [rdi], cl
mov dh, 0x42
invalid
test al, al
Function at 0x14008d6b0
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x14010e308]
mov edx, 0x10
xor ecx, ecx
call fcn.14008dce0
test rax, rax
je 0x14008d784
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x14008d820]
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r9, rax
call qword [sym.imp.kernel32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x14008d776
mov rcx, qword [rbx]
mov qword [rbp - 0x18], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x10], rax
call qword [rax]
mov rax, qword [rbp - 0x10]
cmp qword [rax + 8], 0
je 0x14008d753
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.1400062a0
mov edx, 8
mov rcx, qword [rbp - 0x18]
call fcn.1400062a0
call qword [sym.imp.kernel32.dll_GetLastError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], rdi
mov ecx, 8
mov edx, 0x10
call fcn.1400a0ea0
ud2

Function at 0x14008d950
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, 0x10
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x14008d993
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [case.0x140073fdd.748]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syspalwindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.1400a1120
ud2

Function at 0x140090bf0
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
leave

Function at 0x1400961e3
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x1400961ea
test al, 1
je 0x140096209
test al, 2
jne 0x140096221
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1400e0770]
mov edx, 0x23
call fcn.1400a1200
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1400e07b0]
mov edx, 0x25
call fcn.1400a1200
int3
Function at 0x140096a70
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x30
mov ebx, edx
call fcn.140095ab5
mov rcx, qword [rax]
movzx eax, bl
lea r9, [rsp + 0x2c]
mov dword [r9], eax
mov dword [rsp + 0x20], 4
mov edx, 6
mov r8d, 1
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140096aac
xor eax, eax
jmp 0x140096aba
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rbx
ret
Function at 0x140096d21
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [rsp + 0xd0]
lea r15, [rsp + 0x3a]
lea r13, [rsp + 0x52]
mov rbp, qword [rdx + 0x10]
mov r12, qword [rdx + 0x18]
mov ecx, 0x7fffffff
cmp rax, rcx
cmovb rcx, rax
mov qword [rsp + 0x60], rcx
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x58], rax
lea rsi, [rsp + 0x30]
mov qword [rsp + 0x40], rbp
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
call fcn.140096a68
mov al, byte [rsp + 0x39]
cmp al, 3
je 0x140096e95
mov rcx, qword [rsp + 0x30]
cmp al, 2
je 0x140096ea3
mov dl, byte [rsp + 0x38]
movzx r8d, word [r15 + 4]
mov word [r13 + 4], r8w
mov r8d, dword [r15]
mov dword [r13], r8d
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x51], al
cmp r12, 0xffffffffffffffff
je 0x140096ee7
mov rcx, r12
mov rdx, rdi
mov r8, qword [rsp + 0x60]
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
jne 0x140096eb5
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call fcn.1400131e3
cmp al, 0xd
jne 0x140096e65
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140096e65
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x140096ef3
mov rbp, r12
mov r12, r14
add rcx, 0x10
mov r8, qword [rax + 0x10]
mov r9b, byte [rax + 0x18]
call fcn.140030232
mov r14, rax
xor ecx, ecx
call fcn.140082845
test r14, r14
je 0x140096e5a
mov ecx, 1
mov rdx, rsi
call fcn.1400303f4
mov rsi, r14
mov r14, r12
mov r12, rbp
mov rbp, qword [rsp + 0x40]
mov rcx, rsi
call case.0x14008b162.163
cmp al, 0xd
jne 0x140096ec6
mov qword [rsp + 0x30], rsi
mov rcx, r14
lea rdx, [rsp + 0x48]
call fcn.14009684c
lea rsi, [rsp + 0x30]
mov rcx, rsi
call fcn.140091f42
jmp 0x140096d7d
mov rax, qword [rsp + 0x28]
mov qword [rax], 2
jmp 0x140096ed6
mov rax, qword [rsp + 0x28]
mov qword [rax], 1
mov qword [rax + 8], rcx
jmp 0x140096ed6
cdqe
mov rcx, qword [rsp + 0x28]
and qword [rcx], 0
mov qword [rcx + 8], rax
jmp 0x140096ed6
mov rax, qword [rsp + 0x28]
mov qword [rax], 1
mov qword [rax + 8], rsi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
call fcn.1400a1670
ud2
Function at 0x1400a0270
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
test rax, rax
je 0x1400a02ba
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400a02ba
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400a02ba
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400a02ba
cmp dword [rcx + 0x84], 0xe
jbe 0x1400a02ba
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400a02bc
xor al, al
add rsp, 0x28
ret
Function at 0x401010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x00404460]
xor edx, edx
mov dword [rax], 1
mov rax, qword [0x00404470]
mov dword [rax], 1
mov rax, qword [0x00404480]
mov dword [rax], 1
mov rax, qword [0x00404450]
mov dword [rax], 1
mov rax, qword [0x00404340]
cmp word [rax], 0x5a4d
je 0x4010b0
mov rax, qword [0x00404440]
mov dword [0x00407008], edx
mov eax, dword [rax]
test eax, eax
je 0x4010a0
mov ecx, 2
call sym.__set_app_type
call sym.__p__fmode
mov rdx, qword [0x00404400]
mov edx, dword [rdx]
mov dword [rax], edx
call sym._setargv
mov rax, qword [0x004042f0]
cmp dword [rax], 1
je 0x4010f0
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x401075
movsxd rcx, dword [rax + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x401058
movzx ecx, word [rax + 0x18]
cmp cx, 0x10b
je 0x401103
cmp cx, 0x20b
jne 0x401058
cmp dword [rax + 0x84], 0xe
jbe 0x401058
mov ecx, dword [rax + 0xf8]
xor edx, edx
test ecx, ecx
setne dl
jmp 0x401058
lea rcx, [sym._matherr]
call sym.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x401058
mov r8d, dword [rax + 0xe8]
xor edx, edx
test r8d, r8d
setne dl
jmp 0x401058

Function at 0x401550
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
call sym.__main
mov r9d, 0x40
mov r8d, 0x9000
mov edx, 0x32b
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov rcx, rax
lea rax, [0x00403020]
mov edx, 0x32b
mov r8, rdx
mov rdx, rax
call sym.memcpy
mov rax, qword [rbp - 8]
call rax
mov eax, 0
add rsp, 0x30
pop rbp
ret
Function at 0x402670
Capabilities:
Parse pe header

Disassembly:
cmp word [rcx], 0x5a4d
je 0x402680
xor eax, eax
ret
jmp sym._ValidateImageBase.part.0

Function at 0x402690
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
lea rax, [rcx + rax + 0x18]
movzx ecx, word [rcx + 6]
test ecx, ecx
je 0x4026d1
sub ecx, 1
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8 + 0x28]
mov r8d, dword [rax + 0xc]
cmp r8, rdx
mov rcx, r8
ja 0x4026c8
add ecx, dword [rax + 8]
cmp rcx, rdx
ja 0x4026d3
add rax, 0x28
cmp rax, r9
jne 0x4026b4
xor eax, eax
ret

Function at 0x402770
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x00404340]
cmp word [r8], 0x5a4d
mov rdx, rcx
jne 0x4027dd
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x4027dd
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x4027dd
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x4027d4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x4027df
add rax, 0x28
cmp rax, r9
jne 0x4027c0
xor eax, eax
add rsp, 0x28
ret

Function at 0x4028e0
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x00404340]
xor eax, eax
cmp word [r8], 0x5a4d
mov rdx, rcx
je 0x402900
add rsp, 0x28
ret
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x4028f8
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x40295d
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x402954
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x402964
add rax, 0x28
cmp rax, r9
jne 0x402940
xor eax, eax
add rsp, 0x28
ret
mov eax, dword [rax + 0x24]
not eax
shr eax, 0x1f
add rsp, 0x28
ret

Function at 0x402980
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r11, qword [0x00404340]
cmp word [r11], 0x5a4d
mov r9d, ecx
jne 0x4029ee
mov rcx, r11
call sym._ValidateImageBase.part.0
test eax, eax
je 0x4029ee
movsxd rax, dword [r11 + 0x3c]
add rax, r11
mov edx, dword [rax + 0x90]
test edx, edx
je 0x4029ee
movzx ecx, word [rax + 0x14]
lea rcx, [rax + rcx + 0x18]
movzx eax, word [rax + 6]
test eax, eax
je 0x4029ee
sub eax, 1
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8 + 0x28]
mov r10d, dword [rcx + 0xc]
cmp rdx, r10
mov r8, r10
jb 0x4029e5
add r8d, dword [rcx + 8]
cmp rdx, r8
jb 0x4029f5
add rcx, 0x28
cmp rcx, rax
jne 0x4029d0
xor eax, eax
add rsp, 0x28
ret
add rdx, r11
jne 0x402a08
jmp 0x4029ee
sub r9d, 1
add rdx, 0x14
mov ecx, dword [rdx + 4]
test ecx, ecx
jne 0x402a16
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x4029ee
test r9d, r9d
jg 0x402a00
mov eax, dword [rdx + 0xc]
add rax, r11
add rsp, 0x28
ret
Function at 0x7ff790168a6c
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
sub rsp, 0x48
cmp byte [0x7ff7904d8120], 0
jne 0x7ff790168aca
lea rax, [r11 + 8]
mov dword [rsp + 0x50], 4
mov qword [r11 - 0x18], rax
lea r8, str.IsCloudAndHistoryFeatureAvailable
lea rax, [0x7ff7904d8ec0]
mov r9d, 0x10010
mov qword [r11 - 0x20], rax
lea rdx, str.SoftwareMicrosoftClipboard
and qword [r11 - 0x28], 0
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegGetValueW]
nop dword [rax + rax]
mov byte [0x7ff7904d8120], 1
cmp dword [0x7ff7904d8ec0], 0
setne al
add rsp, 0x48
ret

Function at 0x7ff79016ae60
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x48
and qword [rsp + 0x30], 0
lea r8, str.Languages
and qword [rsp + 0x28], 0
lea rdx, str.Control_PanelInternationalUser_Profile
and qword [rsp + 0x20], 0
mov r9d, 0x20
mov rcx, 0xffffffff80000001
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
jne 0x7ff79020e7c0
call fcn.7ff79016b22c
add rsp, 0x48
ret
call qword [sym.imp.WinLangdb.dll_EnsureLanguageProfileExists]
nop dword [rax + rax]
nop
jmp 0x7ff79016aea5
Function at 0x7ff79016b5e8
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x7ff7904d6b68]
xor rax, rsp
mov qword [rbp - 0x20], rax
and qword [rbp - 0x38], 0
lea rax, [rbp - 0x38]
mov rbx, rcx
mov qword [rsp + 0x20], rax
xorps xmm6, xmm6
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionOOBETelemetryCorrelation
mov rcx, 0xffffffff80000002
movdqa xmmword [rbp - 0x30], xmm6
mov r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
js 0x7ff79016b6da
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x3c]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x3c], 3
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.FirstRunCorrelationID
mov dword [rbp - 0x40], 0x10
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jle 0x7ff79016b698
movzx eax, ax
or eax, 0x80070000
test eax, eax
jns 0x7ff79016b6da
movaps xmmword [rbp - 0x30], xmm6
mov rcx, qword [rbp - 0x38]
movdqu xmmword [rbx], xmm6
test rcx, rcx
je 0x7ff79016b6b7
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rax, rbx
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.7ff7901bf100
mov rbx, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbp
ret
movaps xmm6, xmmword [rbp - 0x30]
jmp 0x7ff79016b69e
Function at 0x7ff79016d1d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x30
lea rax, [r11 + 0x10]
mov dword [rsp + 0x48], 4
mov qword [r11 - 0x10], rax
lea r8, str.StartMenuInit
lea rax, [r11 + 8]
xor ebx, ebx
xor r9d, r9d
mov qword [r11 - 0x18], rax
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced
mov dword [rsp + 0x40], ebx
mov rcx, 0xffffffff80000001
call qword [sym.imp.api_ms_win_shcore_registry_l1_1_0.dll_SHGetValueW]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x40]
test eax, eax
cmovne ecx, ebx
mov eax, ecx
add rsp, 0x30
pop rbx
ret
Function at 0x7ff7901805a0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x38
mov rsi, rcx
and qword [rbp + 0x40], 0
mov rdi, qword [rbp + 0x40]
test rdi, rdi
jne 0x7ff790212a26
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x7ff790180651
and dword [rbp + 0x28], eax
mov dword [rbp + 0x30], 4
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x38]
xor r8d, r8d
lea rdx, str.Version
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
je 0x7ff790212a57
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x7ff790180645
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
nop
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
pop rbx
pop rbp
ret
jmp 0x7ff79018062f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
nop
jmp 0x7ff7901805c1
cmp dword [rbp + 0x38], 4
jne 0x7ff79018062f
mov ebx, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x7ff790212a7a
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
nop
mov eax, ebx
jmp 0x7ff790180647