joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140050660
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, r8
mov rsi, rdx
mov rdi, rcx
movsxd r8, dword [rcx + 0x148]
test r8, r8
jle 0x14005087b
mov r10, qword [rdi + 0x140]
xor ecx, ecx
mov edx, r8d
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
je 0x140050810
movsxd rcx, edx
shl edx, 6
mov r10, qword [r10 + rcx*8 - 8]
xor ecx, ecx
test r10, r10
setne cl
or ecx, edx
xor edx, edx
mov r11, r10
shr r11, 0x20
setne dl
cmove r11, r10
shl edx, 5
mov rbx, r11
shr rbx, 0x10
xor r10d, r10d
cmp r11, 0x10000
setae r10b
cmovb rbx, r11
shl r10d, 4
mov r14, rbx
shr r14, 8
xor r11d, r11d
cmp rbx, 0x100
setae r11b
cmovb r14, rbx
mov rbx, r14
shr rbx, 4
xor r15d, r15d
cmp r14, 0x10
setae r15b
cmovb rbx, r14
mov r14, rbx
shr r14, 2
xor r12d, r12d
cmp rbx, 4
setae r12b
cmovb r14, rbx
or edx, ecx
or edx, r10d
cmp r14, 2
lea ecx, [rdx + r11*8]
lea ecx, [rcx + r15*4]
lea ecx, [rcx + r12*2]
sbb ecx, 0xffffffff
add ecx, 0xffffffc7
shr ecx, 3
cmp r9, rcx
jne 0x140050850
lea rcx, [r8*8]
cmp r9, rcx
ja 0x140050876
mov rcx, rsi
cmp r9, 8
jb 0x140050788
mov rdx, qword [rax + r9 - 8]
add r9, 0xfffffffffffffff8
bswap rdx
mov qword [rcx], rdx
add rcx, 8
dec r8
cmp r9, 7
ja 0x14005076c
test r9, r9
jne 0x140050825
shl r8, 3
test r8, r8
jne 0x14005088f
movsxd rcx, dword [rdi + 0x148]
mov eax, 0x14b
test rcx, rcx
je 0x140050855
mov r8, qword [rdi + 0x140]
xor edx, edx
xor r9d, r9d
mov r10, qword [r8 + r9*8]
mov r11, qword [rsi + r9*8]
xor edi, edi
mov rbx, r11
sub rbx, r10
sete dil
neg rdi
xor r10, r11
xor rbx, r11
or rbx, r10
xor rbx, r11
sar rbx, 0x3f
xor rdx, rbx
and rdx, rdi
xor rdx, rbx
inc r9
cmp rcx, r9
jne 0x1400507bf
mov esi, 1
test edx, edx
jns 0x140050855
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x140050692
jmp 0x140050749
xor edx, edx
xor r10d, r10d
mov r11, r10
shl r11, 8
movzx r10d, byte [rax + rdx]
or r10, r11
inc rdx
cmp r9, rdx
jne 0x14005082a
mov qword [rcx], r10
add rcx, 8
dec r8
jmp 0x140050791
mov eax, 0x144
mov dword [rsp + 0x20], eax
lea r9, str....._third_party_boringssl_srccrypto_fipsmoduleec_simple.c.inc
xor esi, esi
mov ecx, 0xf
xor edx, edx
mov r8d, 0x80
call fcn.1401484b0
jmp 0x140050800
call fcn.1400d896c
test r8d, r8d
je 0x14005089b
mov r10, qword [rdi + 0x140]
mov edx, r8d
jmp 0x1400506a1
xor edx, edx
call fcn.1400f5e20
jmp 0x14005079e
xor ecx, ecx
jmp 0x140050749
Function at 0x140050ed0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp r8, 0x30
ja 0x14005102a
mov r14, r8
mov r15, rdx
mov rsi, rcx
movaps xmm0, xmmword [0x140171db0]
lea rdi, [rsp + 0x40]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi - 0x10], xmm0
movaps xmmword [rdi - 0x20], xmm0
lea r12, [rsp + 0x30]
lea rbx, [rcx + 0x108]
mov eax, dword [rcx + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rcx + 0x114], eax
mov rax, qword [rcx + 0xf8]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8, rsi
call qword [0x1401904a0]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, r12
mov r8, rsi
call qword [0x1401904a0]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call qword [0x1401904a0]
test r14, r14
je 0x140050fb3
xor eax, eax
mov cl, byte [r15 + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp r14, rax
jne 0x140050fa3
mov ecx, 1
call fcn.1400a59b0
bt eax, 0x19
jae 0x140051035
not eax
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
test eax, 0x12000000
jne 0x14005102e
call fcn.1400032c0
lea rax, [0x140001d60]
lea rcx, [fcn.140001000]
mov qword [rsi + 0xf8], rcx
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
mov eax, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x14005101c
call fcn.1400c6de0
int3
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor eax, eax
jmp 0x140051005
call fcn.140002fd0
jmp 0x140050fde
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
bt eax, 9
jae 0x14005105d
call fcn.1400040d0
lea rax, [0x1400045a0]
lea rcx, [fcn.1400042a0]
jmp 0x140050fec
call fcn.140124080
lea rax, [0x140124ce0]
lea rcx, [0x140123f50]
jmp 0x140050fec
Function at 0x140051090
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm8
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rsp + 0x28], r9
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov esi, 1
test rdx, rdx
je 0x14005125d
mov r15, r8
mov rdi, rdx
mov rbx, rcx
mov rsi, qword [rsp + 0x150]
mov r13d, dword [rsi + 4]
xor r14d, r14d
movaps xmm7, xmmword [0x140185f70]
movaps xmm8, xmmword [0x140185f80]
lea r12, [rsp + 0x30]
mov eax, r14d
bswap eax
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x30]
cmp rax, rsi
je 0x140051158
mov ecx, dword [rsi + 0x2c]
call fcn.1400a4a90
test rax, rax
je 0x1400512ba
mov rbp, rax
mov rcx, qword [rsp + 0x38]
call fcn.1400a4af0
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rsi
mov rax, rsi
mov rax, qword [rax + 0x10]
lea rcx, [0x14013b720]
cmp rax, rcx
jne 0x1400512be
mov rax, qword [rsp + 0x38]
movups xmmword [rax + 0x5c], xmm6
movups xmmword [rax + 0x50], xmm6
movups xmmword [rax + 0x40], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm8
mov dword [rax + 0x6c], 0x20
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov rcx, r12
mov rdx, r15
mov r8, qword [rsp + 0x28]
call qword [0x1401904a0]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov r8d, 4
mov rcx, r12
lea rdx, [rsp + 0x5c]
call qword [0x1401904a0]
cmp rdi, r13
jb 0x140051208
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov rcx, r12
mov rdx, rbx
call qword [0x1401904a0]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov edx, dword [rax + 0x2c]
call fcn.1400a4b30
add rbx, r13
inc r14d
sub rdi, r13
jne 0x14005111a
jmp 0x140051258
movaps xmm0, xmmword [0x140171db0]
lea rsi, [rsp + 0x60]
movaps xmmword [rsi + 0x30], xmm0
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
lea r14, [rsp + 0x30]
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
mov rcx, r14
mov rdx, rsi
call qword [0x1401904a0]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov edx, dword [rax + 0x2c]
call fcn.1400a4b30
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1400f5780
mov esi, 1
mov rcx, qword [rsp + 0x38]
call fcn.1400a4af0
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x1400512ce
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x14005128b
call fcn.1400c6de0
int3
mov eax, esi
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x14005125d
lea rcx, [rsp + 0x30]
call qword [0x1401904a0]
jmp 0x140051194
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
call qword [0x1401904a0]
jmp 0x140051271
Function at 0x140052630
Capabilities:
Encode data using xor
Hash data using sha1 via x86 extensions

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov ecx, 2
call fcn.1400a59b0
mov ebp, eax
bt eax, 0x1d
jb 0x140052673
not ebp
test ebp, 0x128
jne 0x140052699
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.1400103f0
mov ecx, 1
call fcn.1400a59b0
bt eax, 9
jae 0x140052653
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000e480
mov ecx, 1
call fcn.1400a59b0
mov ebp, eax
bt eax, 0x1c
jae 0x1400526b8
xor ecx, ecx
call fcn.1400a59b0
bt eax, 0x1e
jb 0x1400526e2
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
bt ebp, 9
jb 0x1400526d4
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000d440
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000e750
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.14000f5f0
Function at 0x1400539d0
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
sub rsp, 0x50
mov rsi, r8
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov eax, 4
lea r9, [rsp + 0x44]
mov dword [r9], eax
lea r8, [rsp + 0x40]
mov dword [r8], eax
lea rax, [rsp + 0x3c]
mov dword [rax], 0
mov rcx, qword [rcx]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140053a41
mov ecx, dword [rsp + 0x44]
add ecx, 0xfffffffd
mov eax, 0x3f4
cmp ecx, 1
ja 0x140053a41
cmp dword [rsp + 0x40], 4
jne 0x140053a41
mov eax, dword [rsp + 0x3c]
mov dword [rsi], eax
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x140053a58
call fcn.1400c6de0
int3
add rsp, 0x50
pop rsi
ret

Function at 0x140053a60
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push r14
push rsi
push rdi
push rbx
mov eax, 0x1048
call fcn.1400c6d80
sub rsp, rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x1040], rax
lea r14, [rsp + 0x840]
mov r8d, 0x800
mov rcx, r14
mov dl, 0xaa
call fcn.1400f5e20
lea r9, [rsp + 0x3c]
mov dword [r9], 1
lea rax, [rsp + 0x38]
mov dword [rax], 0x800
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rdx, rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140053af4
mov eax, dword [rsp + 0x3c]
cmp eax, 1
jne 0x140053b1b
lea rdx, [rsp + 0x840]
mov rcx, rsi
call fcn.140038200
xor eax, eax
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x140053b0e
call fcn.1400c6de0
int3
add rsp, 0x1048
pop rbx
pop rdi
pop rsi
pop r14
ret
cmp eax, 2
jne 0x140053b63
lea rdi, [rsp + 0x40]
mov r8d, 0x800
mov rcx, rdi
mov dl, 0xaa
call fcn.1400f5e20
lea rcx, [rsp + 0x840]
mov rdx, rdi
mov r8d, 0x400
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [rsp + 0x38], eax
add eax, 0xfffffbff
cmp eax, 0xfffffc00
jb 0x140053b6a
lea rdx, [rsp + 0x40]
jmp 0x140053aea
mov eax, 0x3f4
jmp 0x140053af4
mov eax, 0xea
jmp 0x140053af4
Function at 0x140056230
Capabilities:
Inspect section memory permissions

Disassembly:
mov r9d, r8d
xor r8d, r8d
jmp 0x140056240
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x40
mov ebx, r8d
mov rsi, rdx
mov r14, rcx
cmp byte [rdx + 0x17], 0
jns 0x140056261
mov rsi, qword [rsi]
mov edi, r9d
and edi, 0xfffffff
test r9b, 4
je 0x140056281
cmp byte [r14 + 0x50], 1
je 0x14005630c
or edi, 0x20000000
test dil, 8
jne 0x140056317
xor r15d, r15d
cmp byte [r14 + 0x60], 0
mov r12d, 0
je 0x14005629f
mov r12, qword [r14 + 0x58]
cmp byte [r14 + 0x48], 0
mov r13d, 0
je 0x1400562b0
mov r13, qword [r14 + 0x40]
cmp byte [r14 + 0x38], 1
je 0x14005633e
cmp byte [r14 + 0x18], 1
je 0x14005634f
xor r9d, r9d
mov edx, 1
test ebx, ebx
jne 0x14005635f
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov r8d, edi
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
mov esi, eax
test eax, eax
jne 0x140056334
test esi, esi
sete al
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or edi, 0x80000000
jmp 0x140056281
cmp byte [r14 + 0x68], 1
jne 0x140056329
or edi, 0x40000000
jmp 0x14005628b
or edi, 0x10000000
jmp 0x14005628b
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1400562f7
lea rcx, [r14 + 0x20]
call fcn.140039ce0
mov r15, rax
jmp 0x1400562bb
mov rcx, r14
call fcn.140039ce0
mov r9, rax
jmp 0x1400562c9
cmp ebx, 4
jne 0x14005636e
mov edx, 6
jmp 0x1400562d6
lea eax, [rbx - 2]
cmp eax, 2
jae 0x140056380
mov edx, 7
jmp 0x1400562d6
cmp ebx, 1
jne 0x14005638f
mov edx, 4
jmp 0x1400562d6
xor edx, edx
jmp 0x1400562d6
Function at 0x140056240
Capabilities:
Inspect section memory permissions

Disassembly:
mov r9d, r8d
xor r8d, r8d
jmp 0x140056240
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x40
mov ebx, r8d
mov rsi, rdx
mov r14, rcx
cmp byte [rdx + 0x17], 0
jns 0x140056261
mov rsi, qword [rsi]
mov edi, r9d
and edi, 0xfffffff
test r9b, 4
je 0x140056281
cmp byte [r14 + 0x50], 1
je 0x14005630c
or edi, 0x20000000
test dil, 8
jne 0x140056317
xor r15d, r15d
cmp byte [r14 + 0x60], 0
mov r12d, 0
je 0x14005629f
mov r12, qword [r14 + 0x58]
cmp byte [r14 + 0x48], 0
mov r13d, 0
je 0x1400562b0
mov r13, qword [r14 + 0x40]
cmp byte [r14 + 0x38], 1
je 0x14005633e
cmp byte [r14 + 0x18], 1
je 0x14005634f
xor r9d, r9d
mov edx, 1
test ebx, ebx
jne 0x14005635f
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov r8d, edi
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
mov esi, eax
test eax, eax
jne 0x140056334
test esi, esi
sete al
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or edi, 0x80000000
jmp 0x140056281
cmp byte [r14 + 0x68], 1
jne 0x140056329
or edi, 0x40000000
jmp 0x14005628b
or edi, 0x10000000
jmp 0x14005628b
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1400562f7
lea rcx, [r14 + 0x20]
call fcn.140039ce0
mov r15, rax
jmp 0x1400562bb
mov rcx, r14
call fcn.140039ce0
mov r9, rax
jmp 0x1400562c9
cmp ebx, 4
jne 0x14005636e
mov edx, 6
jmp 0x1400562d6
lea eax, [rbx - 2]
cmp eax, 2
jae 0x140056380
mov edx, 7
jmp 0x1400562d6
cmp ebx, 1
jne 0x14005638f
mov edx, 4
jmp 0x1400562d6
xor edx, edx
jmp 0x1400562d6

Function at 0x1400563a0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x40
mov ebx, r8d
mov rsi, rdx
mov r15, rcx
mov edi, r9d
and edi, 0xfffffff
test r9b, 4
je 0x1400563d8
cmp byte [r15 + 0x50], 1
je 0x14005646f
or edi, 0x20000000
test dil, 8
jne 0x14005647a
xor r14d, r14d
cmp byte [r15 + 0x60], 0
mov r12d, 0
je 0x1400563f6
mov r12, qword [r15 + 0x58]
cmp byte [r15 + 0x48], 0
mov r13d, 0
je 0x140056407
mov r13, qword [r15 + 0x40]
cmp byte [r15 + 0x38], 1
je 0x1400564a1
cmp byte [r15 + 0x18], 1
je 0x1400564b2
xor r9d, r9d
cmp ebx, 4
jne 0x140056460
mov edx, 6
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov r8d, edi
call qword [sym.imp.ADVAPI32.dll_SetSecurityInfo]
mov esi, eax
test eax, eax
jne 0x140056497
test esi, esi
sete al
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [rbx - 2]
cmp eax, 2
jae 0x1400564c2
mov edx, 7
jmp 0x14005642a
or edi, 0x80000000
jmp 0x1400563d8
cmp byte [r15 + 0x68], 1
jne 0x14005648c
or edi, 0x40000000
jmp 0x1400563e2
or edi, 0x10000000
jmp 0x1400563e2
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14005644b
lea rcx, [r15 + 0x20]
call fcn.140039ce0
mov r14, rax
jmp 0x140056412
mov rcx, r15
call fcn.140039ce0
mov r9, rax
jmp 0x140056420
mov edx, 1
test ebx, ebx
je 0x14005642a
cmp ebx, 1
jne 0x1400564de
mov edx, 4
jmp 0x14005642a
xor edx, edx
jmp 0x14005642a
Function at 0x140056f20
Capabilities:
Query environment variable

Disassembly:
push rsi
push rdi
push rbx
mov eax, 0x10050
call fcn.1400c6d80
sub rsp, rax
mov rsi, rdx
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x10048], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x30]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x140171db0]
movaps xmmword [rdi], xmm0
movups xmm0, xmmword [rcx]
lea rdx, [rsp + 0x20]
movaps xmmword [rdx], xmm0
mov rcx, rdi
call fcn.1400929e0
test rsi, rsi
je 0x140057006
lea rbx, [rsp + 0x4a]
mov r8d, 0xfffe
mov rcx, rbx
mov dl, 0xaa
call fcn.1400f5e20
cmp byte [rsp + 0x47], 0
jns 0x140056f9f
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, rbx
mov r8d, 0x7fff
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
setne bl
je 0x140056fce
cmp eax, 0x7fff
jae 0x14005702b
mov edx, eax
lea rcx, [rsp + 0x4a]
mov r8, rsi
call fcn.14003d550
cmp byte [rsp + 0x47], 0
jns 0x140056fdf
mov rcx, qword [rsp + 0x30]
call fcn.1400c5af4
mov rcx, qword [rsp + 0x10048]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x140056ff9
call fcn.1400c6de0
int3
mov eax, ebx
add rsp, 0x10050
pop rbx
pop rdi
pop rsi
ret
cmp byte [rsp + 0x47], 0
js 0x140057014
lea rcx, [rsp + 0x30]
jmp 0x140057019
mov rcx, qword [rsp + 0x30]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
setne bl
jmp 0x140056fce
int3

Function at 0x140058330
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test rcx, rcx
je 0x1400583a7
movabs rax, 0xe69e32f3ad9ea63
cmp qword [0x14019f6a0], rax
jne 0x1400583aa
mov rsi, rcx
call fcn.140067fb0
mov edx, 0x570
mov rcx, rax
xor r8d, r8d
call fcn.140058ea0
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.1400583c0
mov ecx, dword [0x1401b0084]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [0x1401ab768]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x168], rdi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
int3
int3
Function at 0x14005be20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r12, qword [rcx + 0x10]
test r12, r12
jne 0x14005be6f
xor esi, esi
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x14005be5e
call fcn.1400c6de0
int3
mov rax, rsi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rdi, rcx
lea rsi, [rcx + 0x28]
cmp r12, rsi
jne 0x14005c14c
mov rax, qword [rdi + 8]
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
cmp dword [rdi + 0x54], 0
jg 0x14005c07b
cmp qword [rdi + 0x48], 2
je 0x14005c176
mov qword [rdi + 0x10], 0
lea rax, [rdi + 0x38]
mov qword [rdi + 8], rax
mov dword [rdi + 0x18], 0
jmp 0x14005be47
movzx ecx, byte [rdi + r9 + 4]
test cl, cl
js 0x14005c09e
add r9, 4
shl ecx, 0x1c
add edx, ecx
add edx, 0xf0000000
jmp 0x14005bfc6
movzx r10d, byte [rdi + r9 + 1]
mov ecx, r10d
shl ecx, 7
add edx, ecx
add edx, 0xffffff80
lea rcx, [r9 + 2]
test r10b, r10b
jns 0x14005bfee
movzx r10d, byte [rdi + rcx]
mov r11d, r10d
shl r11d, 0xe
add edx, r11d
add edx, 0xffffc000
test r10b, r10b
jns 0x14005bfc9
movzx ecx, byte [rdi + r9 + 3]
mov r10d, ecx
shl r10d, 0x15
add edx, r10d
add edx, 0xffe00000
test cl, cl
js 0x14005bedc
add r9, 3
mov rcx, r9
inc rcx
jmp 0x14005bfee
movzx edx, byte [rdi + r9]
test dl, dl
js 0x14005bf70
inc r9
mov rcx, r9
cmp rcx, 0x38
jg 0x14005c09e
mov r9, rdi
add r9, rcx
je 0x14005c09e
test edx, edx
je 0x14005be93
and edx, 7
cmp edx, 5
ja 0x14005c09e
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
test r8d, r8d
sets al
cmp edx, 0x10
setge cl
or cl, al
jne 0x14005c09e
movsxd r9, edx
add r9, 0x28
lea rax, [0x140189794]
jmp 0x14005bfdf
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x28]
mov qword [rbx], rax
lea r14, [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov rdx, rbx
mov r8, r14
call qword [0x1401904a0]
test al, al
je 0x14005c100
movsxd r15, dword [rdi + 0x18]
sub dword [rdi + 0x54], r15d
cmp r15, 0x11
jge 0x14005c10c
test r15d, r15d
jle 0x14005c0b4
lea rcx, [rdi + 0x38]
mov rdx, qword [rsp + 0x28]
mov r8, r15
call fcn.1400f5780
mov qword [rdi + 0x10], rsi
add r15, rsi
mov qword [rdi + 8], r15
jmp 0x14005c124
mov dword [rdi + 0x54], 0
jmp 0x14005be93
lea rax, [rdi + 0x38]
mov rcx, qword [rsp + 0x28]
movups xmm0, xmmword [rcx]
movups xmmword [rdi + 0x38], xmm0
mov qword [rdi + 0x10], rcx
mov qword [rdi + 8], rax
cmp qword [rdi + 0x48], 2
jb 0x14005be47
mov qword [rdi + 0x48], 1
jmp 0x14005be47
movsxd rax, dword [rdi + 0x18]
add rax, r12
add rax, 0xfffffffffffffff0
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rsi
cmp qword [rdi + 0x48], 1
jne 0x14005c16e
mov qword [rdi + 0x48], 2
mov rsi, r12
jmp 0x14005be47
mov rax, qword [rdi + 8]
sub rax, r12
mov qword [rdi + 0x48], rax
jmp 0x14005be9e
Function at 0x14005c5e0
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [0x140171db0]
lea rdx, [rsp + 0x20]
movaps xmmword [rdx], xmm0
mov r8d, 6
call fcn.140068210
test eax, eax
je 0x14005c702
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx eax, byte [0x14018a0fd]
cmp rsi, rax
jne 0x14005c671
lea rbx, [0x14018a0f0]
test al, al
je 0x14005c64f
lea rdx, [0x14018a0f4]
mov rcx, rdi
mov r8, rsi
call fcn.1400f5680
test eax, eax
jne 0x14005c671
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x14005c666
call fcn.1400c6de0
int3
mov rax, rbx
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
movzx eax, byte [0x14018a335]
cmp rsi, rax
jne 0x14005c69e
lea rbx, [0x14018a328]
test al, al
je 0x14005c64f
lea rdx, [0x14018a32c]
mov rcx, rdi
mov r8, rsi
call fcn.1400f5680
test eax, eax
je 0x14005c64f
movzx eax, byte [0x14018a215]
cmp rsi, rax
jne 0x14005c6cb
lea rbx, [0x14018a208]
test al, al
je 0x14005c64f
lea rdx, [0x14018a20c]
mov rcx, rdi
mov r8, rsi
call fcn.1400f5680
test eax, eax
je 0x14005c64f
movzx eax, byte [0x14018a415]
cmp rsi, rax
jne 0x14005c709
lea rbx, [0x14018a408]
test al, al
je 0x14005c64f
lea rdx, [0x14018a40c]
mov rcx, rdi
mov r8, rsi
call fcn.1400f5680
test eax, eax
je 0x14005c64f
jmp 0x14005c709
xor ebx, ebx
jmp 0x14005c64f
movzx eax, byte [0x14018a4fd]
cmp rsi, rax
jne 0x14005c702
lea rbx, [0x14018a4f0]
test al, al
je 0x14005c64f
lea rdx, [0x14018a4f4]
mov rcx, rdi
mov r8, rsi
call fcn.1400f5680
test eax, eax
je 0x14005c64f
jmp 0x14005c702
Function at 0x1400629a0
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 ebx, ecx
mov rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x30], rax
lea rax, [0x140062970]
lea r8, [rsp + 0x28]
mov qword [r8], rax
lea rcx, [0x1401b4840]
lea rdx, [0x1400627c0]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x140062aa0
cmp dword [0x1401b4848], 0
jne 0x140062aad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, dword [0x1401b484c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14, r14
jne 0x140062a4c
mov ecx, 1
mov edx, 0x28
call fcn.140043bc0
test rax, rax
je 0x140062aad
mov r14, rax
mov ecx, dword [0x1401b484c]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x140062aa5
lea r15, [0x1401b4850]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
movsxd rbx, ebx
lea rax, [0x1401b4860]
mov qword [rax + rbx*8], rdi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [r14 + rbx*8], rsi
mov eax, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x14019d040]
je 0x140062a93
call fcn.1400c6de0
int3
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.1400d896c
mov rcx, r14
call fcn.140043b30
mov rcx, rsi
mov rax, rdi
call qword [0x1401904a0]
xor eax, eax
jmp 0x140062a7c

Function at 0x140067eb0
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
sub rsp, 0x28
cmp qword [0x1401b4920], 0
jne 0x140067eed
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x140067ee0
mov dword [rdi], eax
mov dword [0x1401b4928], eax
mov qword [0x1401b4920], rsi
cmp eax, 0xffffffff
setne al
add rsp, 0x28
pop rdi
pop rsi
ret
int3