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

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push r12
push r13
push r14
push r15
mov esi, dword [rcx + 0x4804]
lea r9, [0x140137550]
mov ebp, edx
mov r11, rcx
mov dword [rcx + rbp*4 + 0x4808], esi
lea r12, [r11 + 0x404]
movzx edx, word [rcx]
movzx ecx, word [rcx + 2]
mov eax, edx
shr rax, 4
xor rdx, 0x7f0
shr rdx, 4
movzx r14d, byte [rax + r9]
mov eax, ecx
movzx r8d, byte [rdx + r9]
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov dword [rsp + 0x38], r14d
movzx r15d, byte [rax + r9]
movzx r13d, byte [rcx + r9]
add r15d, r8d
imul rax, rbp, 0x440
add r13d, r8d
xor r9d, r9d
add r12, rax
test esi, esi
je 0x140112729
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rdi
mov rdi, r12
cmp r9d, 8
jae 0x14011264f
xor r10d, r10d
lea r8d, [r9 + 8]
lea rbx, [rbp*8]
lea r14, [0x140137550]
nop dword [rax]
nop dword [rax + rax]
mov ecx, r8d
shr r8d, 1
and ecx, 1
mov eax, r8d
add rax, rbx
movzx edx, word [r11 + rax*2 + 4]
mov eax, ecx
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
movzx eax, byte [rdx + r14]
add r10d, eax
cmp r8d, 1
jne 0x140112600
mov eax, dword [rsp + 0x38]
inc r9d
add eax, r10d
mov dword [rdi], eax
add rdi, 4
cmp r9d, esi
jb 0x1401125d8
jmp 0x14011271f
cmp r9d, esi
jae 0x14011271f
lea rdi, [r12 + r9*4]
lea r14, [0x140137550]
cmp r9d, 0x10
jae 0x1401126cc
xor r10d, r10d
lea rbx, [rbp*8]
mov r8d, r9d
nop word [rax + rax]
mov ecx, r8d
shr r8d, 1
and ecx, 1
mov eax, r8d
add rax, rbx
movzx edx, word [r11 + rax*2 + 0x104]
mov eax, ecx
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
movzx eax, byte [rdx + r14]
add r10d, eax
cmp r8d, 1
jne 0x140112680
lea eax, [r10 + r15]
inc r9d
mov dword [rdi], eax
add rdi, 4
cmp r9d, esi
jb 0x140112663
jmp 0x14011271f
lea rbx, [r12 + r9*4]
xor r10d, r10d
lea eax, [r9 + 0xf0]
nop word [rax + rax]
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
shr rcx, 4
movzx r8d, word [r11 + rax*2 + 0x204]
and ecx, 0x7f
shr r8, 4
xor r8, rcx
movzx ecx, byte [r8 + r14]
add r10d, ecx
cmp eax, 1
jne 0x1401126e0
lea eax, [r10 + r13]
inc r9d
mov dword [rbx], eax
add rbx, 4
cmp r9d, esi
jb 0x1401126d0
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
Function at 0x140113210
Capabilities:
Encode data using xor

Disassembly:
push rdi
sub rsp, 0x30
mov edx, edx
mov r10, rcx
mov dword [rcx], 0x4000400
mov r9d, 0x400
mov qword [rsp + 0x58], rdx
test rdx, rdx
je 0x14011328d
lea rax, [rcx + 8]
mov ecx, edx
nop word [rax + rax]
mov dword [rax - 4], 0x4000400
mov dword [rax], 0x4000400
mov dword [rax + 4], 0x4000400
mov dword [rax + 8], 0x4000400
mov dword [rax + 0xfc], 0x4000400
mov dword [rax + 0x100], 0x4000400
mov dword [rax + 0x104], 0x4000400
mov dword [rax + 0x108], 0x4000400
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x140113240
movzx eax, r9w
lea rdi, [r10 + 0x204]
mov ecx, 0x100
rep stosw word [rdi], ax
test r8b, r8b
jne 0x140113406
xor eax, eax
mov qword [rsp + 0x40], rax
test rdx, rdx
je 0x140113406
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x28], rbp
lea rbp, [0x140137550]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r12
mov qword [rsp + 0x10], r13
mov qword [rsp + 8], r14
mov qword [rsp], r15
mov esi, dword [r10 + 0x4804]
lea rdi, [0x140137550]
mov r14d, eax
xor r8d, r8d
imul r12, r14, 0x440
mov dword [r10 + r14*4 + 0x4808], esi
movzx ecx, word [r10]
add r12, 0x404
mov eax, ecx
add r12, r10
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
movzx ebp, byte [rax + rbp]
movzx edx, byte [rcx + rdi]
movzx ecx, word [r10 + 2]
mov eax, ecx
mov dword [rsp + 0x50], ebp
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
movzx r15d, byte [rax + rdi]
movzx r13d, byte [rcx + rdi]
add r15d, edx
add r13d, edx
test esi, esi
je 0x1401133c5
mov rbx, r12
nop dword [rax]
cmp r8d, 8
jae 0x14011340c
xor r9d, r9d
lea edi, [r8 + 8]
lea r11, [r14*8]
lea rbp, [0x140137550]
mov ecx, edi
shr edi, 1
and ecx, 1
mov eax, edi
add rax, r11
movzx edx, word [r10 + rax*2 + 4]
mov eax, ecx
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
movzx eax, byte [rdx + rbp]
add r9d, eax
cmp edi, 1
jne 0x140113380
mov eax, dword [rsp + 0x50]
inc r8d
add eax, r9d
mov dword [rbx], eax
add rbx, 4
cmp r8d, esi
jb 0x140113360
lea rbp, [0x140137550]
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
cmp rax, qword [rsp + 0x58]
jb 0x1401132e2
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
cmp r8d, esi
jae 0x1401133c5
lea rbx, [r12 + r8*4]
lea rbp, [0x140137550]
nop dword [rax]
cmp r8d, 0x10
jae 0x14011347e
xor r9d, r9d
lea r11, [r14*8]
mov edi, r8d
mov ecx, edi
shr edi, 1
and ecx, 1
mov eax, edi
add rax, r11
movzx edx, word [r10 + rax*2 + 0x104]
mov eax, ecx
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
movzx eax, byte [rdx + rbp]
add r9d, eax
cmp edi, 1
jne 0x140113434
lea eax, [r9 + r15]
inc r8d
mov dword [rbx], eax
add rbx, 4
cmp r8d, esi
jb 0x140113420
jmp 0x1401133cc
lea r11, [r12 + r8*4]
xor r9d, r9d
lea eax, [r8 + 0xf0]
nop dword [rax]
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
shr rcx, 4
movzx edi, word [r10 + rax*2 + 0x204]
and ecx, 0x7f
shr rdi, 4
xor rdi, rcx
movzx ecx, byte [rdi + rbp]
add r9d, ecx
cmp eax, 1
jne 0x140113490
lea eax, [r9 + r13]
inc r8d
mov dword [r11], eax
add r11, 4
cmp r8d, esi
jb 0x140113482
jmp 0x1401133cc
Function at 0x1401179c4
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.14001fb64
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x140117a4e
cmp byte [rbp - 0x21], r15b
je 0x140117a49
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x140117a84
call fcn.140034e54
test eax, eax
jne 0x140117a70
cmp byte [rbp - 0x21], r15b
je 0x140117a68
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x140117a84
cmp byte [rbp - 0x21], r15b
je 0x140117a81
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.1400513dc
test eax, eax
jne 0x140117b24
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.14001fb64
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x140117ac3
cmp byte [rbp - 0x21], r15b
je 0x140117af8
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140117af8
call fcn.140034e54
test eax, eax
jne 0x140117ae4
cmp byte [rbp - 0x21], r15b
je 0x140117add
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140117af8
cmp byte [rbp - 0x21], r15b
je 0x140117af5
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.1400513dc
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140117b24
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140117b27
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140117b35
mov rcx, rdi
call fcn.140033c54
cmp byte [rbp + 0x3f], r15b
je 0x140117b44
mov rcx, qword [rbp + 0x27]
call fcn.140033c54
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140118b10
Capabilities:
Encode data using xor

Disassembly:
push rdi
mov r10d, dword [rcx + 0xb94]
mov r11, rcx
mov ecx, 8
sub ecx, r10d
shr r8d, cl
mov ecx, r10d
mov eax, dword [r11 + 0xb98]
xor r10d, r10d
and eax, edx
shl eax, cl
mov ecx, dword [rsp + 0x38]
add r8d, eax
add ecx, 0x100
lea rdi, [r8 + r8*2]
shl rdi, 9
add rdi, r11
lea r11, [0x140137550]
test r9b, r9b
jne 0x140118b96
nop dword [rax]
mov r8d, ecx
shr ecx, 1
and r8d, 1
neg r8d
shr r8, 4
movzx r9d, word [rdi + rcx*2 + 0xb9c]
and r8d, 0x7f
shr r9, 4
xor r9, r8
movzx edx, byte [r9 + r11]
add r10d, edx
cmp ecx, 1
jne 0x140118b60
mov eax, r10d
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov r9d, 0x100
mov ebx, dword [rsp + 0x30]
nop word [rax + rax]
mov edx, ecx
add ebx, ebx
shr edx, 8
mov eax, r9d
and eax, ebx
add eax, r9d
add edx, eax
movzx r8d, word [rdi + rdx*2 + 0xb9c]
mov edx, ecx
shr edx, 7
add ecx, ecx
and edx, 1
shr r8, 4
neg edx
shr rdx, 4
and edx, 0x7f
xor r8, rdx
movzx eax, byte [r8 + r11]
add r10d, eax
mov eax, ebx
xor eax, ecx
not eax
and r9d, eax
cmp ecx, 0x10000
jb 0x140118bb0
mov rbx, qword [rsp + 0x10]
mov eax, r10d
pop rdi
ret
Function at 0x140118c10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
push r15
mov r14d, 4
lea rbx, [rcx + 0x10290]
mov ebp, r14d
lea rsi, [rcx + 0x10698]
mov r10, rcx
lea r15, [0x140137550]
xor edi, edi
nop dword [rax + rax]
mov eax, dword [r10 + 0x10e90]
xor r11d, r11d
test eax, eax
je 0x140118cb7
nop
xor r9d, r9d
lea eax, [r11 + 0x40]
nop word [rax + rax]
mov edx, eax
shr eax, 1
and edx, 1
mov ecx, eax
add rcx, rdi
movzx r8d, word [r10 + rcx*2 + 0x6efc]
mov ecx, edx
neg ecx
shr r8, 4
shr rcx, 4
and ecx, 0x7f
xor r8, rcx
movzx ecx, byte [r8 + r15]
add r9d, ecx
cmp eax, 1
jne 0x140118c70
mov dword [rbx + r11*4], r9d
inc r11d
mov eax, dword [r10 + 0x10e90]
cmp r11d, eax
jb 0x140118c60
mov edx, reloc.WS2_32.dll_ntohl
cmp eax, edx
jbe 0x140118ce0
mov eax, edx
lea rcx, [rbx + rax*4]
mov eax, edx
shr eax, 1
inc edx
shl eax, 4
sub eax, 0x50
add dword [rcx], eax
cmp edx, dword [r10 + 0x10e90]
jb 0x140118cc0
nop dword [rax]
mov eax, dword [rbx]
add rdi, 0x40
mov dword [rsi - 8], eax
mov eax, dword [rbx + 4]
mov dword [rsi - 4], eax
mov eax, dword [rbx + 8]
mov dword [rsi], eax
mov eax, dword [rbx + 0xc]
add rbx, 0x100
mov dword [rsi + 4], eax
add rsi, 0x200
sub rbp, 1
jne 0x140118c50
lea rdi, [r10 + 0x10aa0]
nop dword [rax]
cmp r14d, 4
ja 0x140118d2b
mov edx, r14d
jmp 0x140118d3d
bsr edx, r14d
mov eax, r14d
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea edx, [rax + rdx*2]
mov r9d, edx
mov r11d, edx
shr r9d, 1
mov eax, edx
and eax, 1
dec r9d
or eax, 2
mov ecx, r9d
shl eax, cl
mov ebx, r14d
sub ebx, eax
mov ebp, eax
xor r8d, r8d
lea esi, [r8 + 1]
mov eax, esi
mov edx, ebx
sub rax, r11
shr ebx, 1
add rax, rbp
and edx, 1
movzx ecx, word [r10 + rax*2 + 0x70fa]
lea esi, [rdx + rsi*2]
mov eax, edx
shr rcx, 4
neg eax
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, byte [rcx + r15]
add r8d, eax
add r9d, 0xffffffff
jne 0x140118d64
mov ecx, dword [r10 + r11*4 + 0x10290]
inc r14d
add ecx, r8d
mov dword [rdi - 0x400], ecx
mov ecx, dword [r10 + r11*4 + 0x10390]
add ecx, r8d
mov dword [rdi - 0x200], ecx
mov ecx, dword [r10 + r11*4 + 0x10490]
add ecx, r8d
mov dword [rdi], ecx
mov ecx, dword [r10 + r11*4 + 0x10590]
add ecx, r8d
mov dword [rdi + 0x200], ecx
add rdi, 4
cmp r14d, 0x80
jb 0x140118d20
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov dword [r10 + 0x10e94], r9d
pop r15
pop r14
ret
Function at 0x14011a500
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x18]
mov rbp, rcx
mov ecx, dword [rcx + 0x20]
mov r14, rdx
add rcx, 0x18
mov r15d, r8d
lea r9d, [rax + rax]
add rcx, r9
call qword [fcn.1400394cc]
mov rbx, rax
test rax, rax
jne 0x14011a545
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
lea rcx, [rax + 0x18]
mov qword [rax], rbp
mov qword [rax + 8], rcx
mov eax, dword [rbp + 0x18]
add rax, rcx
mov qword [rsp + 0x48], rsi
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x50], rdi
cmp r15d, dword [rbp + 0x1c]
jbe 0x14011a590
call qword [rbp]
mov rcx, qword [rbx + 8]
mov r8d, r15d
mov rdx, r14
call qword [rbp + reloc.WS2_32.dll_htonl]
mov r14d, dword [rbp + 0x18]
add r14, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, r14
call qword [rbp + reloc.WS2_32.dll_recv]
mov r15d, dword [rbp + 0x20]
mov rcx, qword [rbx + 8]
call qword [rbp]
mov rcx, qword [rbx + 0x10]
call qword [rbp]
xor esi, esi
test r15, r15
je 0x14011a5f2
mov rsi, r15
nop dword [rax + rax]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x36
mov r8d, 1
mov byte [rsp + 0x40], al
mov rcx, qword [rbx + 8]
call qword [rbp + reloc.WS2_32.dll_htonl]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x5c
lea r14, [r14 + 1]
mov byte [rsp + 0x40], al
mov r8d, 1
mov rcx, qword [rbx + 0x10]
call qword [rbp + reloc.WS2_32.dll_htonl]
sub r15, 1
jne 0x14011a5b0
mov eax, dword [rbp + 0x1c]
cmp rsi, rax
jae 0x14011a633
nop word [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [0x1401375d0]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1401375d1]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov eax, dword [rbp + 0x1c]
inc rsi
cmp rsi, rax
jb 0x14011a600
mov rdi, qword [rsp + 0x50]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
Function at 0x2fc4c4cf0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call fcn.2fc4c5db0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop

Function at 0x2fc4c56f2
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x2fc4ea108]
test eax, eax
je 0x2fc4c578a
lea rax, [0x2fc4ea0e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x2fc4ea110]
mov qword [rbp - 8], rax
jmp 0x2fc4c576e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x2fc4c5762
cmp qword [rbp - 0x10], 0
je 0x2fc4c5762
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x2fc4c5728
lea rax, [0x2fc4ea0e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x2fc4c578b
nop
add rsp, 0x30
pop rbp
ret

Function at 0x2fc4c5890
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x2fc4c58b8
mov eax, 0
jmp 0x2fc4c5906
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x2fc4c58e1
mov eax, 0
jmp 0x2fc4c5906
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x2fc4c5901
mov eax, 0
jmp 0x2fc4c5906
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x2fc4c590c
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc4c598a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc4c5981
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc4c5981
mov rax, qword [rbp - 8]
jmp 0x2fc4c599f
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc4c5954
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x180002200
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [0x180020a94], 0xa
jl 0x180002232
mov eax, dword [0x180020a98]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002232
nop word cs:[rax + rax]
jmp 0x180002230
mov rax, qword gs:[0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a7c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r9b
or r9b, al
lea r10, [rcx - 1]
xor eax, eax
mov r14, r11
mov r14, qword [r14]
cmp r14, r11
je 0x180002308
mov rsi, r10
test r8b, r8b
je 0x180002320
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x1800022a0
test r9b, r9b
je 0x180002330
sub rsi, rcx
je 0x180002304
mov r15, qword [r14 + 0x60]
xor ebx, ebx
nop
movzx r13d, word [r15 + rbx*2]
lea edi, [r13 - 0x41]
lea ebp, [r13 + 0x20]
cmp di, 0x1a
cmovae ebp, r13d
movsx edi, byte [rcx + rbx]
lea r12d, [rdi - 0x41]
lea edx, [rdi + 0x20]
cmp r12b, 0x1a
cmovae edx, edi
sub ebp, edx
test r13d, r13d
je 0x180002300
test ebp, ebp
jne 0x180002300
add rbx, 1
cmp rsi, rbx
jne 0x1800022c0
jmp 0x180002304
test ebp, ebp
jne 0x18000228c
mov rax, qword [r14 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180002320
jmp 0x180002330
Function at 0x140002290
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [0x14001f010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], 0xc
mov byte [rsp + 0x28], 0x32
mov byte [rsp + 0x29], 0x44
mov byte [rsp + 0x2a], 0x49
mov byte [rsp + 0x2b], 0x24
mov byte [rsp + 0x2c], 0x49
mov byte [rsp + 0x2d], 0x40
mov byte [rsp + 0x2e], 0x4f
mov byte [rsp + 0x2f], 9
mov byte [rsp + 0x30], 0x3f
mov byte [rsp + 0x31], 0x47
mov byte [rsp + 0x32], 0x47
mov byte [rsp + 0x33], 0xdb
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x14001f780], eax
jle 0x14000234a
lea rcx, [0x14001f780]
call fcn.1400174c8
cmp dword [0x14001f780], 0xffffffff
jne 0x14000234a
lea rdx, [rsp + 0x28]
lea rcx, [0x14001fb00]
call fcn.14000a460
lea rcx, [0x14001a300]
call fcn.140017884
nop
lea rcx, [0x14001f780]
call fcn.14001745c
lea rax, [0x14001fb00]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140017400
add rsp, 0x48
ret

Function at 0x140002370
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x14001f010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], 0x11
mov byte [rsp + 0x28], 0x24
mov byte [rsp + 0x29], 0x49
mov byte [rsp + 0x2a], 0x4f
mov byte [rsp + 0x2b], 0x40
mov byte [rsp + 0x2c], 0x4d
mov byte [rsp + 0x2d], 0x49
mov byte [rsp + 0x2e], 0x40
mov byte [rsp + 0x2f], 0x4f
mov byte [rsp + 0x30], 0x2a
mov byte [rsp + 0x31], 0x4b
mov byte [rsp + 0x32], 0x40
mov byte [rsp + 0x33], 0x49
mov byte [rsp + 0x34], 0x30
mov byte [rsp + 0x35], 0x4d
mov byte [rsp + 0x36], 0x47
mov byte [rsp + 0x37], 0x1c
mov byte [rsp + 0x38], 0xdb
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x14001fd0c], eax
jle 0x140002443
lea rcx, [0x14001fd0c]
call fcn.1400174c8
cmp dword [0x14001fd0c], 0xffffffff
jne 0x140002443
lea rdx, [rsp + 0x28]
lea rcx, [0x14001fa70]
call fcn.14000a770
lea rcx, [0x14001a2e0]
call fcn.140017884
nop
lea rcx, [0x14001fd0c]
call fcn.14001745c
lea rax, [0x14001fa70]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140017400
add rsp, 0x58
ret
Function at 0x140002460
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [0x14001f010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], 0xc
mov byte [rsp + 0x28], 0x28
mov byte [rsp + 0x29], 0x3a
mov byte [rsp + 0x2a], 0x3f
mov byte [rsp + 0x2b], 0x1a
mov byte [rsp + 0x2c], 0x3f
mov byte [rsp + 0x2d], 0x36
mov byte [rsp + 0x2e], 0x45
mov byte [rsp + 0x2f], 0xff
mov byte [rsp + 0x30], 0x35
mov byte [rsp + 0x31], 0x3d
mov byte [rsp + 0x32], 0x3d
mov byte [rsp + 0x33], 0xd1
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x14001f758], eax
jle 0x14000251a
lea rcx, [0x14001f758]
call fcn.1400174c8
cmp dword [0x14001f758], 0xffffffff
jne 0x14000251a
lea rdx, [rsp + 0x28]
lea rcx, [0x14001fcf8]
call fcn.14000a460
lea rcx, [0x14001a2c0]
call fcn.140017884
nop
lea rcx, [0x14001f758]
call fcn.14001745c
lea rax, [0x14001fcf8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140017400
add rsp, 0x48
ret

Function at 0x140002540
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x14001f010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], 0x14
mov byte [rsp + 0x28], 0x1a
mov byte [rsp + 0x29], 0x3f
mov byte [rsp + 0x2a], 0x45
mov byte [rsp + 0x2b], 0x36
mov byte [rsp + 0x2c], 0x43
mov byte [rsp + 0x2d], 0x3f
mov byte [rsp + 0x2e], 0x36
mov byte [rsp + 0x2f], 0x45
mov byte [rsp + 0x30], 0x14
mov byte [rsp + 0x31], 0x3d
mov byte [rsp + 0x32], 0x40
mov byte [rsp + 0x33], 0x44
mov byte [rsp + 0x34], 0x36
mov byte [rsp + 0x35], 0x19
mov byte [rsp + 0x36], 0x32
mov byte [rsp + 0x37], 0x3f
mov byte [rsp + 0x38], 0x35
mov byte [rsp + 0x39], 0x3d
mov byte [rsp + 0x3a], 0x36
mov byte [rsp + 0x3b], 0xd1
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x14001faf4], eax
jle 0x140002622
lea rcx, [0x14001faf4]
call fcn.1400174c8
cmp dword [0x14001faf4], 0xffffffff
jne 0x140002622
lea rdx, [rsp + 0x28]
lea rcx, [0x14001fa50]
call fcn.140008ac0
lea rcx, [0x14001a2a0]
call fcn.140017884
nop
lea rcx, [0x14001faf4]
call fcn.14001745c
lea rax, [0x14001fa50]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140017400
add rsp, 0x58
ret