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

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x42d7e6
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 0x42d7da
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1268], 0
cmp byte [0x005d3534], 0
jne 0x42d5ba
xor edx, edx
xor ebx, ebx
jmp 0x42d600
xor edx, edx
jmp 0x42d5e5
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1278]
mov rax, rcx
call fcn.0041c920
mov rdx, qword [rsp + 0x28]
inc rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42d5be
add rax, 0x1268
call fcn.0042d4e0
add rsp, 0x38
pop rbp
ret
inc rdx
nop
cmp rdx, rcx
jge 0x42d774
mov rsi, qword [rax + rdx*8 + 0x1278]
cmp rsi, 0x1000
jb 0x42d5fb
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
call fcn.004122e0
test rax, rax
jne 0x42d64c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42d5fb
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 0x42d68c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42d5fb
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 0x42d7cd
lea r10, [0x005a5918]
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 0x42d70f
lock or byte [r8], r11b
movzx r8d, byte [rbx + 0x6a]
test r8b, 1
je 0x42d745
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 0x42d5fb
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x42d7c5
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 0x42d5fb
cmp rbx, 0x200
ja 0x42d7b4
lea rdx, [rax + 0x1278]
lea rsi, [rax + 0x1240]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.00423160
mov rax, qword [rsp + 0x48]
add rax, 0x1268
call fcn.0042d4e0
add rsp, 0x38
pop rbp
ret
mov rcx, rbx
mov edx, 0x200
nop dword [rax]
call fcn.0045eb40
mov rax, r8
call fcn.0045eac0
mov rax, r8
mov ecx, 0x40
call fcn.0045eae0
mov edx, 0x200
nop
call fcn.0045eb20
nop
mov qword [rsp + 8], rax
call fcn.00463300
mov rax, qword [rsp + 8]
jmp fcn.0042d560
Function at 0x442400
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x442567
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 0x442412
cmp edx, ecx
jne 0x442555
nop word [rax + rax]
test rsi, rsi
jne 0x442555
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x442474
nop
call fcn.00460320
xorps xmm15, xmm15
mov r14, qword [0x005d3758]
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.00442320
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 0x442550
mov rdx, qword [0x00580618]
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 0x442545
mov rcx, qword [0x00580610]
lea rcx, [rcx + rsi*4]
lock or dword [rcx], edi
mov rcx, qword [0x005811b0]
mov qword [rax + 8], rcx
mov rcx, rax
nop
mov qword [0x005811b0], rax
nop
mov edx, 1
lea rsi, [0x005811b8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
test dl, dl
jne 0x442533
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, [0x004d4196]
mov ebx, 0x28
nop
call fcn.00433860
mov rax, rsi
mov rcx, rdx
call fcn.0045eac0
call fcn.00431f00
lea rax, [0x004d342e]
mov ebx, 0x23
call fcn.00433860
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045c840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00442400
Function at 0x44d580
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x44d6f7
movzx edx, byte [rax]
test edx, edx
jne 0x44d5b4
nop dword [rax]
test r8b, r8b
jne 0x44d5b4
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x44d5c7
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x44d6b7
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 0x44d6a5
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 0x44d697
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x44d61d
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x44d660
mov eax, 1
cmp rax, rbx
ja 0x44d64b
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.0045eb80
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x44d68f
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 0x44d653
mov rcx, r11
mov eax, r12d
jmp 0x44d622
mov rcx, rbx
call fcn.0045eac0
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.0045eac0
mov eax, r8d
mov rcx, rbx
call fcn.0045eb80
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x44d6ed
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 0x44d6b0
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x44d5cd
mov eax, edx
mov rcx, rbx
call fcn.0045eac0
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.0045eac0
nop
int3
Function at 0x454b00
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x454baf
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, [0x00454c00]
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 + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.0045c700
xorps xmm15, xmm15
mov r14, qword [0x005d3758]
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.0045c840
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.00454b00
Function at 0x45e620
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4039e3
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.00409620
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045c840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x4039c0
cmp byte [0x005d352d], 0
je 0x45e635
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45b880
jmp 0x4039c0

Function at 0x45e640
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005d3800]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005d352d], 0
je 0x45e675
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005d3ac0]
aesenc xmm0, xmmword [0x005d3ad0]
aesenc xmm0, xmmword [0x005d3ae0]
movq rax, xmm0
ret
jmp 0x409840

Function at 0x45e680
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 [0x005d3800]
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 [0x005d352d], 0
je 0x45e6b6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005d3ac0]
aesenc xmm0, xmmword [0x005d3ad0]
aesenc xmm0, xmmword [0x005d3ae0]
movq rax, xmm0
ret
jmp 0x4098a0

Function at 0x460380
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x4603b4
mov rcx, 0x28
jmp 0x4603bf
shl rcx, 3
add rcx, 0x1480
mov qword [0x005d3758], rcx
pop rbp
ret
Function at 0x4740c0
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4742fb
push rbp
mov rbp, rsp
sub rsp, 0x78
mov ebx, dword [rax + 0x2c]
test ebx, ebx
jne 0x47415a
mov qword [rsp + 0x88], rax
lea rbx, [0x004c89a0]
mov rcx, rax
lea rax, [0x00580720]
call fcn.0046f2c0
test cl, cl
jne 0x474143
mov rax, qword [rsp + 0x88]
call fcn.00473940
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x30]
lea rbx, [0x004f10b8]
call fcn.0044a280
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rbx
call fcn.00474340
mov rcx, qword [rsp + 0x88]
xor edx, edx
jmp 0x474177
lea rdx, [0x004c6bc0]
cmp rax, rdx
jne 0x474165
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
call fcn.0045a5e0
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x004b7f80]
call fcn.0040a360
inc rdx
cmp rbx, rdx
jle 0x4741c1
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x474174
lea rax, [0x00580720]
lea rbx, [0x004c89a0]
lea rdi, [0x004c6bc0]
nop dword [rax + rax]
call fcn.0046f480
lea rdx, [0x004c6bc0]
cmp rax, rdx
jne 0x4742eb
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
nop
ret
lea rcx, [0x004b2460]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rcx
lea rax, [0x004bb2a0]
call fcn.0040cec0
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
cmp dword [0x005d3790], 0
nop
je 0x47421b
mov rbx, rax
lea rax, [0x004bb2a0]
call fcn.00411ca0
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.004014a0
call fcn.0045a6a0
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 0x474282
imul edx, edx, 0x1000193
xor edx, 0x2a
mov eax, 1
test rax, rax
jle 0x474274
mov dword [rsi + 0x10], edx
cmp dword [0x005d3790], 0
je 0x4742a3
call fcn.0045e760
mov qword [r11], rcx
mov rdx, qword [rsi + 0x30]
mov qword [r11 + 8], rdx
mov qword [rsi + 0x30], rcx
lea rax, [0x00580720]
lea rbx, [0x004c89a0]
lea rdi, [0x004c6bc0]
nop dword [rax]
call fcn.0046f480
lea rdx, [0x004c6bc0]
cmp rax, rdx
jne 0x4742dc
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x004b7f80]
call fcn.0040a360
mov rbx, rdx
lea rcx, [0x004b7f80]
call fcn.0040a360
nop
mov qword [rsp + 8], rax
call fcn.0045c840
mov rax, qword [rsp + 8]
jmp fcn.004740c0
Function at 0x47bb80
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x47bc4a
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00403920
xorps xmm15, xmm15
mov r14, qword [0x005d3758]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x47bc2f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x004b5120]
xor ebx, ebx
mov rcx, rdx
call fcn.004464c0
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.0047c680
inc rbx
cmp rcx, rbx
jae 0x47bc1e
mov edi, 1
lea rsi, [0x004b5120]
call fcn.004465a0
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x004f2638]
lea rsi, [0x004f1dd8]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045c840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0047bb80
Function at 0x14000b9fc
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140016950], eax
call fcn.14000b77c
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140016950], 0
jne case.default.0x14000ba52
mov ecx, 1
call fcn.14000b77c
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
xchg ebp, eax
mov al, 0x3c
sbb ah, byte [rdi - 0x6a109349]
hlt
Function at 0x140001000
Capabilities:
Check for time delay via gettickcount
Get disk information
Get disk size
Get memory capacity
Get system information on windows

Disassembly:
sub rsp, 0x2b8
mov rax, qword [0x14004f008]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x36ee80
jbe 0x140001112
xorps xmm0, xmm0
lea rcx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x60], 0x40
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp dword [rsp + 0x70], 0x3f44100
jb 0x140001112
xor edx, edx
lea rcx, [rsp + 0xa0]
mov r8d, 0x200
call fcn.140007ba0
lea rdx, [rsp + 0xa0]
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
xor eax, eax
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x28]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0xa0]
mov dword [rsp + 0x24], eax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
cmp dword [rsp + 0x20], 0x5d41700
jb 0x140001112
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x36ee80
jbe 0x140001112
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rsp + 0x50], 4
jb 0x140001112
mov r9d, 0x40
lea r8, str.MessageBox_Example
lea rdx, str.Hello__World_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.140001140
add rsp, 0x2b8
ret

Function at 0x140003e50
Capabilities:
Get thread local storage value

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x48
call fcn.140003930
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x140003e8f
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
call qword [0x14003b290]
jmp 0x140003e99
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
add rsp, 0x48
ret

Function at 0x14001cc00
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add rsp, 0x28
ret
Function at 0x1400564a0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x1400564ad
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x1400564bd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x1400564a5
lea eax, [rcx + 1]
jmp 0x1400564cb
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x1400564de
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x1400564c4
sub eax, 3
jb 0x1400564fe
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x14005654d
sar eax, 1
movsxd rbp, eax
jb 0x140056534
jmp 0x14005650c
add ebx, ebx
jne 0x14005650a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140056534
inc ecx
add ebx, ebx
jne 0x14005651a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140056534
call r11
adc ecx, ecx
add ebx, ebx
jne 0x14005652d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14005651c
add ecx, 2
jmp 0x140056539
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.140056462
jmp 0x1400564ad
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x29e00
mov dl, 0x11
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x140056599
cmp rsi, rcx
jae 0x1400565a1
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x140056580
cmp al, 0x8f
ja 0x140056580
cmp byte [rsi - 2], 0xf
je 0x140056586
sub al, 0xe8
cmp al, 1
ja 0x14005656a
cmp rsi, rcx
jae 0x1400565a1
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x140056570
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x1400565a1
lodsb al, byte [rsi]
jmp 0x140056580
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x54000]
mov eax, dword [rdi]
or eax, eax
je 0x14005660a
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x63ad8]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x1400565ae
jns 0x1400565e3
movzx rdx, word [rdi]
add rdi, 2
jmp 0x1400565ed
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x140056604
mov qword [rbx], rax
add rbx, 8
jmp 0x1400565ce
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x140056644
cmp al, 0xef
ja 0x140056636
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x140056616
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x140056625
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x237]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140056698
sub rsp, 0xffffffffffffff80
jmp 0x14000c1f0
Function at 0x180008788
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rbx, qword [0x180011330]
lea rdx, [0x180011340]
mov ecx, 0x20
call qword [sym.imp.d3d9.dll_Direct3DCreate9Ex]
test eax, eax
jns 0x1800087c6
mov ecx, 3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x180011340]
lea rdx, [0x180011358]
and dword [rbp - 0x30], 0
mov esi, 1
and dword [rbp - 0x24], 0
mov r9, rbx
and qword [rbp - 0xc], 0
mov r8d, esi
and dword [rbp - 0x2c], 0
and dword [rbp - 0x40], 0
and dword [rbp - 0x3c], 0
mov qword [rsp + 0x38], rdx
lea rdx, [rbp - 0x40]
and qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rdx
xor edx, edx
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x28], esi
mov dword [rbp - 0x34], esi
mov dword [rbp - 0x38], 0x15
mov dword [rbp - 4], esi
mov dword [rbp - 0x18], esi
mov dword [rbp - 0x14], esi
mov dword [rbp - 0x10], 0x50
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x40
call qword [rax + 0xa0]
mov rcx, qword [0x180011340]
test eax, eax
jns 0x18000885b
mov rax, qword [rcx]
call qword [rax + 0x10]
lea ecx, [rsi + 3]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rdx, qword [rcx]
call qword [rdx + 0x10]
lea r11, [rsp + 0x80]
mov al, sil
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
Function at 0x180008b18
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x180010010]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor edx, edx
mov cl, 0x55
call fcn.180002474
mov edx, 1
mov byte [rbp - 0x20], al
mov cl, 0x6e
call fcn.180002474
mov edx, 2
mov byte [rbp - 0x1f], al
mov cl, 0x72
call fcn.180002474
mov edx, 3
mov byte [rbp - 0x1e], al
mov cl, 0x65
call fcn.180002474
mov edx, 4
mov byte [rbp - 0x1d], al
mov cl, 0x61
call fcn.180002474
mov edx, 5
mov byte [rbp - 0x1c], al
mov cl, 0x6c
call fcn.180002474
mov edx, 6
mov byte [rbp - 0x1b], al
mov cl, 0x57
call fcn.180002474
mov edx, 7
mov byte [rbp - 0x1a], al
mov cl, 0x69
call fcn.180002474
mov edx, 8
mov byte [rbp - 0x19], al
mov cl, 0x6e
call fcn.180002474
mov edx, 9
mov byte [rbp - 0x18], al
mov cl, 0x64
call fcn.180002474
mov edx, 0xa
mov byte [rbp - 0x17], al
mov cl, 0x6f
call fcn.180002474
mov edx, 0xb
mov byte [rbp - 0x16], al
mov cl, 0x77
call fcn.180002474
mov byte [rbp - 0x15], al
xor eax, eax
mov byte [rbp - 0x14], al
xor edi, edi
movsxd rdx, edi
lea eax, [rdi + 0x51]
inc edi
xor byte [rbp + rdx - 0x20], al
cmp edi, 0xc
jb 0x180008beb
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [0x1800112f0], rax
xorps xmm0, xmm0
mov r8, rax
lea rdi, [rbp - 0x20]
xor eax, eax
lea rdx, [0x180011348]
movups xmmword [0x180011348], xmm0
lea ecx, [rax + 8]
rep stosb byte [rdi], al
mov rcx, r8
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [0x180011350]
mov edx, 0xfffffff0
sub eax, dword [0x180011348]
mov rcx, qword [0x1800112f0]
mov dword [0x180011374], eax
mov eax, dword [0x180011354]
sub eax, dword [0x18001134c]
mov dword [0x180011370], eax
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [0x180011370]
bt eax, 0x17
jae 0x180008c89
add dword [0x18001134c], 0x20
sub ecx, 0x27
mov dword [0x180011370], ecx
mov eax, dword [0x180011374]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
movss dword [0x180011338], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1800112e8], xmm0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18000adf0
mov rdi, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret