joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140024f80
Capabilities:
Hash data using murmur3

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
cmp byte [0x141485337], 0
jne 0x140025067
sub rbx, qword [rax + 0x18]
mov rdx, qword [rax + 0x50]
test byte [rdx], al
mov esi, dword [rax + 0x64]
imul rbx, rsi
mov rsi, rbx
shr rbx, 0x20
shr rsi, 0x23
and ebx, 7
mov rdi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
add rdx, rsi
nop
nop
nop
nop
lock or byte [rdx], r8b
mov rcx, qword [rax + 0x18]
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rdx, 0x2a
nop
nop
nop
cmp rdx, 0x40
jae 0x14002505a
lea rbx, [0x141457718]
mov rdx, qword [rbx + rdx*8]
test byte [rdx], al
mov rbx, rcx
shr rbx, 0x10
and ebx, 0x3f
shr rcx, 0xd
and ecx, 7
mov esi, 1
shl esi, cl
shr rax, 0x16
and eax, 0xfffff
mov rax, qword [rdx + rax*8]
test byte [rax], al
movzx edx, byte [rax + rbx + 0x11440]
lea rax, [rax + rbx]
lea rax, [rax + 0x11440]
test sil, dl
jne 0x140025040
lock or byte [rax], sil
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rdi
add rsp, 0x10
pop rbp
ret
mov rax, rdx
mov ecx, 0x40
call fcn.14006d3e0
lea rax, [0x140cc42dd]
mov ebx, 0x2c
call fcn.14003cf40
nop
int3

Function at 0x140027340
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140027446
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x17], dil
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x18], 0
jmp 0x140027383
mov rax, qword [rsp + 0x60]
mov rcx, rdx
mov rbx, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x17]
cmp qword [rsp + 0x18], rbx
jae 0x14002743b
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov ebx, edi
mov rax, rcx
nop dword [rax]
call fcn.140028120
test rax, rax
je 0x14002743b
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
movups xmmword [rsp + 0x40], xmm15
lea rcx, [0x140027480]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x18]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x48], rax
lea rbx, [rsp + 0x20]
mov qword [rsp], rbx
nop dword [rax]
call fcn.14006afa0
xorps xmm15, xmm15
mov r14, qword [0x141485a70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x70]
nop dword [rax]
test rdx, rdx
jne 0x140027429
xor eax, eax
jmp 0x140027433
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x70]
test al, al
je 0x140027371
mov rax, qword [rsp + 0x18]
add rsp, 0x50
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call fcn.14006b0e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp fcn.140027340
Function at 0x140036380
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x140036606
push rbp
mov rbp, rsp
sub rsp, 0x38
test byte [rax], al
mov rcx, qword [rax + 0x1268]
lea rsi, [rax + 0x1278]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x1400365fa
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1268], 0
cmp byte [0x141485337], 0
jne 0x1400363da
xor edx, edx
xor ebx, ebx
jmp 0x140036420
xor edx, edx
jmp 0x140036405
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1278]
mov rax, rcx
call fcn.1400247e0
mov rdx, qword [rsp + 0x28]
inc rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x1400363de
add rax, 0x1268
call fcn.140036300
add rsp, 0x38
pop rbp
ret
inc rdx
nop
cmp rdx, rcx
jge 0x140036594
mov rsi, qword [rax + rdx*8 + 0x1278]
cmp rsi, 0x1000
jb 0x14003641b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
call fcn.1400187e0
test rax, rax
jne 0x14003646c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14003641b
mov rsi, qword [rbx + 0x50]
test byte [rsi], al
mov r8, rcx
shr r8, 3
movzx r9d, byte [rsi + r8]
and ecx, 7
mov r10d, 1
shl r10d, cl
nop
add rsi, r8
test r10b, r9b
je 0x1400364ac
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14003641b
nop
lock or byte [rsi], r10b
mov rcx, qword [rbx + 0x18]
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
nop
nop
nop
cmp r8, 0x40
jae 0x1400365ed
lea r10, [0x141457718]
mov r8, qword [r10 + r8*8]
test byte [r8], al
mov r10, rcx
shr r10, 0x10
and r10d, 0x3f
shr rcx, 0xd
and ecx, 7
mov r11d, 1
shl r11d, cl
shr r9, 0x16
and r9d, 0xfffff
mov r8, qword [r8 + r9*8]
test byte [r8], al
movzx r9d, byte [r8 + r10 + 0x11440]
lea r8, [r8 + r10]
lea r8, [r8 + 0x11440]
test r11b, r9b
jne 0x14003652f
lock or byte [r8], r11b
movzx r8d, byte [rbx + 0x6a]
test r8b, 1
je 0x140036565
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x1250]
add r8, qword [rbx + 0x70]
mov qword [rax + 0x1250], r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14003641b
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x1400365e5
mov rbx, qword [rsp + 0x48]
mov qword [rbx + r8*8 + 0x1278], rax
inc r8
mov rax, rbx
mov rdx, qword [rsp + 0x28]
mov rbx, r8
jmp 0x14003641b
cmp rbx, 0x200
ja 0x1400365d4
lea rdx, [rax + 0x1278]
lea rsi, [rax + 0x1240]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.14002b040
mov rax, qword [rsp + 0x48]
add rax, 0x1268
call fcn.140036300
add rsp, 0x38
pop rbp
ret
mov rcx, rbx
mov edx, 0x200
nop dword [rax]
call fcn.14006d440
mov rax, r8
call fcn.14006d3c0
mov rax, r8
mov ecx, 0x40
call fcn.14006d3e0
mov edx, 0x200
nop
call fcn.14006d420
nop
mov qword [rsp + 8], rax
call fcn.140071de0
mov rax, qword [rsp + 8]
jmp fcn.140036380
Function at 0x14004bae0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x14004bc47
push rbp
mov rbp, rsp
sub rsp, 0x18
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x14004baf2
cmp edx, ecx
jne 0x14004bc35
nop word [rax + rax]
test rsi, rsi
jne 0x14004bc35
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x14004bb54
nop
call fcn.14006ec40
xorps xmm15, xmm15
mov r14, qword [0x141485a70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.14004ba00
mov rcx, qword [rsp + 0x28]
mov edx, dword [rcx]
mov ebx, edx
sar edx, 0x1f
shr edx, 0x1b
add edx, ebx
mov esi, edx
and edx, 0xffffffe0
sub ebx, edx
test ebx, ebx
jl 0x14004bc30
mov rdx, qword [0x14142e718]
sar esi, 5
mov rax, rcx
mov ecx, ebx
mov edi, 1
shl edi, cl
movsxd rsi, esi
cmp ecx, 0x20
sbb r8d, r8d
and edi, r8d
cmp rdx, rsi
jbe 0x14004bc25
mov rcx, qword [0x14142e710]
lea rcx, [rcx + rsi*4]
lock or dword [rcx], edi
mov rcx, qword [0x141431d50]
mov qword [rax + 8], rcx
mov rcx, rax
nop
mov qword [0x141431d50], rax
nop
mov edx, 1
lea rsi, [0x141431d58]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
test dl, dl
jne 0x14004bc13
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
nop
nop
xchg qword [rcx + 0x1228], rdx
add rsp, 0x18
pop rbp
ret
lea rax, [0x140cc0d14]
mov ebx, 0x28
nop
call fcn.14003cf40
mov rax, rsi
mov rcx, rdx
call fcn.14006d3c0
call fcn.14003b200
lea rax, [0x140cbbcaf]
mov ebx, 0x23
call fcn.14003cf40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.14006b0e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.14004bae0
Function at 0x140058f40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x1400590b7
movzx edx, byte [rax]
test edx, edx
jne 0x140058f74
nop dword [rax]
test r8b, r8b
jne 0x140058f74
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x140058f87
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x140059077
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
nop dword [rax]
cmp rbx, r8
jb 0x140059065
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and r8, rdx
lea rdx, [rax + r8]
test rbx, rbx
jbe 0x140059057
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x140058fdd
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x140059020
mov eax, 1
cmp rax, rbx
ja 0x14005900b
add qword [rdi], rsi
sub rcx, rax
sub rbx, rax
mov rsi, rcx
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
mov edi, 1
add rsp, 0x10
pop rbp
ret
mov rcx, rbx
call fcn.14006d480
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x14005904f
movzx r9d, byte [rax + rdx]
mov r10d, r9d
and r9d, 0x7f
mov r11, rcx
mov ecx, r8d
shl r9d, cl
lea r12d, [rax + 1]
or esi, r9d
test r10b, 0x80
jne 0x140059013
mov rcx, r11
mov eax, r12d
jmp 0x140058fe2
mov rcx, rbx
call fcn.14006d3c0
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.14006d3c0
mov eax, r8d
mov rcx, rbx
call fcn.14006d480
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x1400590ad
movzx r10d, byte [rdx + rax]
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
inc edx
or r8d, r10d
test r11b, 0x80
jne 0x140059070
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x140058f8d
mov eax, edx
mov rcx, rbx
call fcn.14006d3c0
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.14006d3c0
nop
int3
Function at 0x1400608c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x14006096f
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rsi, [0x1400609c0]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.14006afa0
xorps xmm15, xmm15
mov r14, qword [0x141485a70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
add rsp, 0x58
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.14006b0e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.1400608c0
Function at 0x14006cf20
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x141486040]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x141485330], 0
je 0x14006cf56
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x141486420]
aesenc xmm0, xmmword [0x141486430]
aesenc xmm0, xmmword [0x141486440]
movq rax, xmm0
ret
jmp 0x14000e4c0
Function at 0x1400989e0
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140098c1b
push rbp
mov rbp, rsp
sub rsp, 0x78
mov ebx, dword [rax + 0x2c]
test ebx, ebx
jne 0x140098a7a
mov qword [rsp + 0x88], rax
lea rbx, [0x140c86c40]
mov rcx, rax
lea rax, [0x14142f800]
call fcn.140078620
test cl, cl
jne 0x140098a63
mov rax, qword [rsp + 0x88]
call fcn.1400958a0
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x30]
lea rbx, [0x140dc9580]
call fcn.1400553e0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rbx
call fcn.140099ec0
mov rcx, qword [rsp + 0x88]
xor edx, edx
jmp 0x140098a97
lea rdx, [0x140c72560]
cmp rax, rdx
jne 0x140098a85
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
call fcn.140068600
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x140b44ee0]
call fcn.14000f100
inc rdx
cmp rbx, rdx
jle 0x140098ae1
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x140098a94
lea rax, [0x14142f800]
lea rbx, [0x140c86c40]
lea rdi, [0x140c72560]
nop dword [rax + rax]
call fcn.140078a20
lea rdx, [0x140c72560]
cmp rax, rdx
jne 0x140098c0b
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
nop
ret
lea rcx, [0x140ae7100]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rcx
lea rax, [0x140b9e820]
call fcn.140011d20
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
cmp dword [0x141485d40], 0
nop
je 0x140098b3b
mov rbx, rax
lea rax, [0x140b9e820]
call fcn.1400181a0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
mov rbx, qword [rsp + 0x28]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0x50]
call fcn.140002600
call fcn.140068700
mov rsi, qword [rsp + 0x60]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], 0
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0x10]
xor eax, eax
jmp 0x140098ba2
imul edx, edx, 0x1000193
xor edx, 0x2a
mov eax, 1
test rax, rax
jle 0x140098b94
mov dword [rsi + 0x10], edx
cmp dword [0x141485d40], 0
je 0x140098bc3
call fcn.14006d020
mov qword [r11], rcx
mov rdx, qword [rsi + 0x30]
mov qword [r11 + 8], rdx
mov qword [rsi + 0x30], rcx
lea rax, [0x14142f800]
lea rbx, [0x140c86c40]
lea rdi, [0x140c72560]
nop dword [rax]
call fcn.140078a20
lea rdx, [0x140c72560]
cmp rax, rdx
jne 0x140098bfc
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x140b44ee0]
call fcn.14000f100
mov rbx, rdx
lea rcx, [0x140b44ee0]
call fcn.14000f100
nop
mov qword [rsp + 8], rax
call fcn.14006b0e0
mov rax, qword [rsp + 8]
jmp fcn.1400989e0
Function at 0x140a20280
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x1413df680]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x140a202a0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x140a202a8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140a202a0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
movzx edx, word [r8 + 6]
lea rax, [r8 + rax + 0x18]
test edx, edx
je 0x140a202f5
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x140a202ec
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x140a202a0
add rax, 0x28
cmp rax, r9
jne 0x140a202d8
xor eax, eax
ret

Function at 0x140a20300
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1413df680]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x140a20320
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x140a20328
mov eax, r8d
ret
cmp word [rax + 0x18], 0x20b
jne 0x140a20320
movzx r8d, word [rax + 6]
mov eax, r8d
ret

Function at 0x140a203b0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x1413df680]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x140a203d0
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp dword [rdx], 0x4550
je 0x140a203d8
mov rax, r8
ret
cmp word [rdx + 0x18], 0x20b
cmove r8, rax
mov rax, r8
ret
Function at 0x180002940
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x30
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x180002962
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdi
je 0x1800029dc
mov rdi, r14
mov rcx, rbx
call fcn.180003e10
test rax, rax
jle 0x1800029b4
mov rdx, qword [rbx + 0x38]
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov r8, rbp
mov rdx, qword [rdx]
call fcn.180007e70
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x1800029cc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x1800029d4
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x180002976
sub r14, rdi
jmp 0x180002ac9
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x1800029f3
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1800029f5
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x180002a2a
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.180007e70
mov rax, qword [rbx + 0x50]
sub rbp, rdi
add rsi, rdi
mov r8, rbp
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x180002ac6
mov r9, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r9], rax
jne 0x180002a65
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x180002aa1
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.18000d470
sub rbp, rax
add rsi, rax
mov rdi, rbp
cmp rax, 0xfff
jne 0x180002adf
cmp rbp, rax
ja 0x180002a71
mov r8, rdi
test rdi, rdi
je 0x180002ac6
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.18000d470
mov r8, rdi
sub r8, rax
sub r14, r8
mov rbp, qword [rsp + 0x28]
mov rax, r14
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
sub r14, rbp
jmp 0x180002ac9
Function at 0x180002f00
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x180037060]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x180002f2d
xor eax, eax
jmp 0x180003073
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x180002f67
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x180002f67
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x180003073
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x180003066
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x180002faa
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x180002fb9
movsx ecx, dil
jmp 0x18000300d
lea r8, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov rax, qword [rcx]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x38], r8
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x30], r8
lea r8, [rsp + 0x58]
mov qword [rsp + 0x28], r8
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], r8
lea r8, [rsp + 0x50]
call qword [rax + 0x38]
test eax, eax
js 0x180003066
cmp eax, 1
jle 0x180003027
cmp eax, 3
jne 0x180003066
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call fcn.18000c4bc
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x18000306b
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x180003054
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call fcn.18000d15c
cmp rsi, rax
jne 0x180003066
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov eax, edi
jne 0x18000306b
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.180005ed0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140027042
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
push r15
mov rax, 9
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14002705a
sub rsp, 0x28
call fcn.14003e350
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.14003e470
add rsp, 0x10
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x30]
sub rsp, 0x10
call fcn.14003e470
add rsp, 0x10
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x38]
sub rsp, 0x10
call fcn.14003e470
add rsp, 0x10
mov dword [rsp + 0x40], 0
call fcn.14001b6a7
and rax, rax
je 0x1400270df
jmp 0x1400270df
xor rax, rax
and rax, rax
je 0x1400270f2
mov qword [rsp + 0x58], 0xf013f
jmp 0x1400270fb
mov qword [rsp + 0x58], 0xf003f
sub rsp, 8
lea rax, [rsp + 0x50]
mov rax, rax
push rax
push qword [rsp + 0x68]
push 0
movabs rax, 0x140092028
push rax
movabs rax, 0x80000000
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegOpenKeyExW
add rsp, 0x30
mov r15, rax
and r15, r15
jne 0x1400271cc
lea rax, [rsp + 0x50]
mov rax, rax
push rax
push qword [rsp + 0x30]
push qword [rsp + 0x58]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegCreateKeyW
mov r15, rax
and r15, r15
jne 0x1400271c2
push qword [rsp + 0x38]
pop rcx
call fcn.140032bf0
mov r15, rax
inc r15
add r15, r15
mov rax, r15
push rax
push qword [rsp + 0x40]
push 2
push 0
push qword [rsp + 0x50]
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegSetValueExW
add rsp, 0x30
mov r15, rax
and r15, r15
jne 0x1400271b8
mov dword [rsp + 0x40], 1
push qword [rsp + 0x50]
pop rcx
call sub.ADVAPI32.dll_RegCloseKey
push qword [rsp + 0x48]
pop rcx
call sub.ADVAPI32.dll_RegCloseKey
movsxd rax, dword [rsp + 0x40]
movsxd rax, eax
jmp 0x1400271d9
push rax
mov rcx, qword [rsp + 0x38]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x40]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.14003e620
add rsp, 0x28
pop rax
add rsp, 0x70
pop r15
ret
Function at 0x140027df1
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
xor rax, rax
push rax
push rax
push rax
push rax
push rax
push rax
sub rsp, 0x28
call fcn.14003e350
mov rcx, qword [rsp + 0x90]
call fcn.140031e68
sub rsp, 0x18
mov rdx, 1
lea rax, [rsp + 0x40]
push rax
xor r9, r9
mov r8, reloc.WS2_32.dll_inet_addr
mov rcx, 2
sub rsp, 0x20
call fcn.14003d960
add rsp, 0x40
mov qword [rsp + 0x28], rax
push 0
push 0
pop rcx
pop rdx
call sub.KERNEL32.dll_GetSystemDirectoryW
mov rax, rax
push rax
pop rax
mov dword [rsp + 0x48], eax
movsxd r15, dword [rsp + 0x48]
and r15, r15
jne 0x140027ea2
movabs rcx, 0x140092028
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
pop rax
push rax
call fcn.14003e410
pop rdx
add rax, rdx
jmp 0x140027f74
movsxd rax, dword [rsp + 0x48]
inc rax
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.14003db1c
movsxd r15, dword [rsp + 0x48]
add r15, r15
mov rax, r15
push rax
mov rbp, qword [rsp + 0x30]
lea rax, [rbp]
mov rax, rax
push rax
pop rcx
pop rdx
call fcn.14003dde0
movsxd rax, dword [rsp + 0x48]
mov rax, rax
push rax
lea rax, [rbp]
mov rax, rax
push rax
pop rcx
pop rdx
call sub.KERNEL32.dll_GetSystemDirectoryW
mov rax, rax
push rax
pop rax
mov dword [rsp + 0x48], eax
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.14003e3c0
add rsp, 0x28
pop rcx
push rax
push 0x19
push 0xffffffffffffffff
mov rbp, qword [rsp + 0x50]
lea rax, [rbp]
mov rax, rax
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.14003dee0
add rsp, 0x28
movabs rcx, 0x140092182
sub rsp, 0x28
call fcn.14003e650
add rsp, 0x28
pop rax
push rax
call fcn.14003e410
pop rdx
add rax, rdx
jmp 0x140027f74
push rax
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.14003dc44
add rsp, 0x28
pop rax
add rsp, 0x58
pop r15
pop rbp
ret

Function at 0x140031e68
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
call sub.KERNEL32.dll_GetLastError
mov qword [rsp + 0x38], rax
mov rcx, qword [0x140094d6c]
call sub.KERNEL32.dll_TlsGetValue
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x38]
call sub.KERNEL32.dll_SetLastError
mov rax, qword [rsp + 0x28]
add rsp, 0x48
ret