joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400061b0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xf0]
lea r10, [0x140049a40]
mov rax, qword [rcx + 0xf8]
mov r9, rcx
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, dl
movzx r8d, bl
shr ebx, 8
xor r8, rax
movzx eax, byte [rsp + 0x39]
xor ebx, dword [r10 + r8*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [r10 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [r10 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
mov rcx, qword [r9]
not ebx
cmp dword [rcx + 0x3f20], ebx
jne 0x14000623b
movsxd r8, edx
mov ecx, ebx
mov edx, 4
call fcn.140019bf0
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140006250
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0xf8]
lea r9, [0x140049a40]
movss xmm2, dword [rcx + 0x110]
movss xmm3, dword [rcx + 0x114]
movsxd rcx, dword [rcx + 0xf0]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x1400099b0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x1400577c0]
mov r15d, edx
mov r12d, dword [rsp + 0x90]
movaps xmmword [rsp + 0x30], xmm6
mov rbx, qword [rdi + 0x3ed8]
mov eax, dword [rbx + 0x14]
movss xmm3, dword [rbx + 0x250]
and eax, 4
movss xmm5, dword [rbx + 0x254]
or eax, 0x1000103
or r12d, eax
cmp qword [rbx + 0x1a8], 0
jne 0x140009a16
cmp qword [rdi + 0x4b30], 0
je 0x140009a1e
movss xmm3, dword [rbx + 0x220]
cvttss2si eax, dword [r8]
xor r14d, r14d
subss xmm3, dword [rbx + 0x100]
subss xmm5, dword [rbx + 0x104]
xorps xmm4, xmm4
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm4
cvtdq2ps xmm0, xmm0
jp 0x140009a58
lea eax, [r14 + 1]
je 0x140009a5b
mov eax, r14d
ucomiss xmm0, xmm4
jp 0x140009a68
jne 0x140009a68
mov r14d, 2
movss xmm2, dword [0x14004f250]
or r14d, eax
comiss xmm4, xmm1
jb 0x140009a84
addss xmm1, xmm3
comiss xmm1, xmm2
jae 0x140009a84
movaps xmm1, xmm2
comiss xmm4, xmm0
jb 0x140009a95
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x140009a95
movaps xmm0, xmm2
or dword [rdi + 0x47b0], 2
xor edx, edx
movss dword [rdi + 0x47d0], xmm1
movss dword [rdi + 0x47d4], xmm0
mov dword [rdi + 0x47b8], 1
mov r9, qword [rbx + 8]
test rcx, rcx
je 0x140009ade
mov dword [rsp + 0x28], r15d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
call fcn.140002970
jmp 0x140009af4
lea r8, str._s__08X
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x70]
call fcn.140002970
mov rcx, qword [rsp + 0x70]
mov r8d, r12d
movss xmm6, dword [rdi + 0x37f8]
xor edx, edx
call fcn.14000c8d0
mov rsi, qword [rdi + 0x3ed8]
movzx ebp, al
movss dword [rdi + 0x37f8], xmm6
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r15d
mov byte [rsi + 0xd2], r14b
jne 0x140009b42
movsd xmm0, qword [rsi + 0x20]
movsd qword [rbx + 0x100], xmm0
mov r9d, r15d
lea rdx, [0x140048ac1]
not r9d
lea r10, [0x140049a40]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax]
cmp r8b, 0x23
jne 0x140009b73
cmp byte [rdx], r8b
jne 0x140009b73
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x140009b60
not ebx
cmp dword [rdi + 0x3f38], ebx
jne 0x140009ba3
xor edx, edx
xor ecx, ecx
call fcn.140006410
cmp dword [rdi + 0x48c8], r15d
jne 0x140009bf0
bt r12d, 0x17
jb 0x140009bf0
cmp word [rsi + 0x15c], 0
jne 0x140009bc6
cmp byte [rsi + 0x162], 0
je 0x140009bf0
xor edx, edx
mov rcx, rsi
call fcn.14000ed80
xor edx, edx
mov rcx, rsi
call fcn.140014dc0
mov rdx, rsi
mov ecx, ebx
call fcn.140006410
mov eax, dword [rdi + 0x48ec]
mov dword [rdi + 0x3f60], eax
mov rbx, qword [rsp + 0x78]
movzx eax, bpl
mov rbp, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x14000a040
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x14000a090
lea r11, [0x140049a40]
nop dword [rax]
cmp r9b, 0x23
jne 0x14000a073
cmp byte [r8], r9b
jne 0x14000a073
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x14000a060
mov rcx, qword [0x1400577c0]
not eax
movsxd rdx, dword [rcx + 0x3eb8]
mov r9, qword [rcx + 0x3ec0]
mov r10, rdx
shl r10, 4
add r10, r9
test rdx, rdx
je 0x14000a0f1
nop word [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x14000a0e9
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x14000a0ec
mov rdx, r8
test rdx, rdx
jne 0x14000a0c0
cmp r9, r10
je 0x14000a100
cmp dword [r9], eax
jne 0x14000a100
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret
Function at 0x140012e80
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140057010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1400577c0]
mov edi, ecx
cmp byte [rbx + 0x4a79], 0
jne 0x140012ee1
cmp byte [rbx + 0x4a7a], 0
jne 0x140012ee1
movsx r9d, word [rbx + 0x5bb2]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.1400028f0
test dil, 2
je 0x14001300f
jmp 0x140012f6a
movss xmm1, dword [rbx + 0x3894]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5bb2]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x14004f274]
mulss xmm1, dword [0x14004f26c]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xe00]
addss xmm1, dword [rbx + 0xe04]
mov qword [rbx + 0x47c8], rax
mov dword [rbx + 0x47b4], 1
movss dword [rbx + 0x47c0], xmm0
movss dword [rbx + 0x47c4], xmm1
movss xmm0, dword [rbx + 0x38f0]
mulss xmm0, dword [0x14004f1b0]
or dword [rbx + 0x47b0], 0x41
movss dword [rbx + 0x4810], xmm0
call fcn.1400028f0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140012fc0
lea r11, [0x140049a40]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x140012fa3
cmp byte [r8], r9b
jne 0x140012fa3
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 0x140012f90
not ecx
call fcn.140009fc0
test rax, rax
je 0x14001300f
cmp byte [rax + 0xb6], 0
je 0x14001300f
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 + 0x5bb2]
movsx r9d, word [rbx + 0x5bb2]
call fcn.1400028f0
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14000c8d0
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400455d0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x1400185b0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5ca0], 0
lea rbx, [rcx + 0x5ca8]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x140018657
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001860a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.14001acf0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140003100
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5ca0]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5cb0]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x1400577b8]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001865f
mov rcx, rbx
call fcn.140003100
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x140018ae0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1400577c0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x140018b43
mov qword [rsp], rbx
lea rbx, [0x140049a40]
nop dword [rax]
cmp r9b, 0x23
jne 0x140018b23
cmp byte [r8], r9b
jne 0x140018b23
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x140018b10
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5c10]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x140018b77
mov r10, qword [r10 + 0x5c18]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x140018b7e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x140018b64
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x140046048
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140046092
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140046092
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140046092
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140046092
cmp dword [rcx + 0x84], 0xe
jbe 0x140046092
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140046094
xor al, al
add rsp, 0x28
ret
Function at 0x140001880
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push r14
mov r14, rcx
mov rsi, r8
mov rbp, rdx
sub r14, qword [r8 + 0x30]
je 0x140001a02
test byte [r8 + 0x5e], 0x40
jne 0x1400018ad
xor eax, eax
mov rbp, qword [rsp + 0x30]
pop r14
pop rsi
ret
movzx eax, word [rsi + 0x14]
lea rdx, [rsi + 0x18]
mov r8d, dword [r8 + 0xb0]
add rdx, rax
movzx eax, word [rsi + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140001a02
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x1400018e6
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x1400018fd
add rdx, 0x28
cmp rdx, r9
jb 0x1400018d4
mov eax, 1
mov rbp, qword [rsp + 0x30]
pop r14
pop rsi
ret
mov qword [rsp + 0x18], rbx
mov ebx, dword [rdx + 0x14]
sub rbx, rcx
mov qword [rsp + 0x28], r15
mov r15d, dword [rsi + 0xb4]
add rbx, r8
add rbx, rbp
add r15, rbx
test rbx, rbx
je 0x1400019f8
cmp rbx, r15
jae 0x1400019f8
mov qword [rsp + 0x20], rdi
mov eax, dword [rbx + 4]
test eax, eax
je 0x1400019f3
lea ecx, [rax - 8]
shr ecx, 1
je 0x1400019e7
lea r11, [rbx + 8]
mov edi, ecx
movzx r8d, word [r11]
movzx eax, r8w
shr ax, 0xc
and r8d, 0x80000fff
jge 0x140001972
dec r8d
or r8d, 0xfffff000
inc r8d
cmp ax, 3
je 0x14000197e
cmp ax, 0xa
jne 0x1400019d6
movzx eax, word [rsi + 0x14]
movzx ecx, word [rsi + 6]
add rax, 0x18
mov r9d, dword [rbx]
add rax, rsi
lea rdx, [rcx + rcx*4]
lea r10, [rax + rdx*8]
cmp rax, r10
jae 0x1400019cb
nop dword [rax]
mov edx, dword [rax + 0xc]
cmp r9, rdx
jb 0x1400019b2
mov ecx, dword [rax + 8]
add ecx, edx
cmp r9, rcx
jb 0x1400019bd
add rax, 0x28
cmp rax, r10
jb 0x1400019a0
jmp 0x1400019cb
mov ecx, dword [rax + 0x14]
sub rcx, rdx
add rcx, r9
add rcx, rbp
jne 0x1400019ce
mov rcx, rbp
movzx eax, r8w
add qword [rax + rcx], r14
add r11, 2
sub rdi, 1
jne 0x140001950
mov eax, dword [rbx + 4]
add rbx, rax
cmp rbx, r15
jb 0x140001934
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
mov r15, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov eax, 1
pop r14
pop rsi
ret
Function at 0x140001a10
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbx
push rbp
push rdi
sub rsp, 0x40
movzx eax, word [r8 + 0x14]
lea r10, [r8 + 0x18]
mov r11d, dword [r8 + 0x90]
add r10, rax
movzx eax, word [r8 + 6]
mov rbp, r8
mov rbx, rdx
mov edi, ecx
lea r9, [rax + rax*4]
lea r9, [r10 + r9*8]
cmp r10, r9
jae 0x140001a71
nop dword [rax]
mov ecx, dword [r10 + 0xc]
cmp r11, rcx
jb 0x140001a68
mov eax, dword [r10 + 8]
add eax, ecx
cmp r11, rax
jb 0x140001b05
add r10, 0x28
cmp r10, r9
jb 0x140001a50
xor edx, edx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
test r11d, r11d
je 0x140001adf
cmp dword [r8 + 0x94], 0
je 0x140001adf
lea r13, [rdx + 0x10]
movzx eax, word [rbp + 0x14]
lea rdx, [rbp + 0x18]
mov r8d, dword [r13 - 4]
add rdx, rax
movzx eax, word [rbp + 6]
mov qword [rsp + 0x70], r13
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140001adf
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140001ad6
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140001b17
add rdx, 0x28
cmp rdx, r9
jb 0x140001ac4
mov eax, 1
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret
mov edx, dword [r10 + 0x14]
sub rdx, rcx
add rdx, r11
add rdx, rbx
jmp 0x140001a73
mov r15d, dword [rdx + 0x14]
sub r15, rcx
add r15, r8
add r15, rbx
je 0x140001adf
mov rdx, r15
mov ecx, edi
call fcn.1400012d0
mov r12, rax
test rax, rax
je 0x140001c57
movzx eax, word [rbp + 0x14]
lea rdx, [rbp + 0x18]
mov r8d, dword [r13]
add rdx, rax
movzx eax, word [rbp + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140001b7b
nop dword [rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140001b72
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140001ba5
add rdx, 0x28
cmp rdx, r9
jb 0x140001b60
xor r14d, r14d
mov rdi, qword [r14]
test rdi, rdi
je 0x140001c3c
mov r13, qword [rsp + 0x68]
jns 0x140001bb4
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 1]
call qword [0x14001f040]
movzx edx, di
jmp 0x140001c00
mov r14d, dword [rdx + 0x14]
sub r14, rcx
add r14, r8
add r14, rbx
jmp 0x140001b7e
movzx eax, word [rbp + 0x14]
movzx ecx, word [rbp + 6]
add rax, 0x18
add rax, rbp
lea rdx, [rcx + rcx*4]
lea r8, [rax + rdx*8]
cmp rax, r8
jae 0x140001beb
mov edx, dword [rax + 0xc]
cmp rdi, rdx
jb 0x140001be2
mov ecx, dword [rax + 8]
add ecx, edx
cmp rdi, rcx
jb 0x140001c49
add rax, 0x28
cmp rax, r8
jb 0x140001bd0
xor esi, esi
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 1]
call qword [0x14001f040]
lea rdx, [rsi + 2]
mov rcx, rax
mov rbx, rax
call qword [0x14001f070]
mov rdi, rax
mov rcx, rbx
sub rdi, rbx
call qword [0x14001f080]
lea rax, [rdi + r12]
mov qword [r14], rax
add r14, 8
mov rdi, qword [r14]
test rdi, rdi
jne 0x140001b8f
mov r13, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov edi, dword [rsp + 0x60]
add r13, 0x14
jmp 0x140001a9f
mov esi, dword [rax + 0x14]
sub rsi, rdx
add rsi, rdi
add rsi, r13
jmp 0x140001bed
jmp 0x140001ae4
Function at 0x140005c00
Capabilities:
Move file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x14002d008]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rbx, rcx
mov edx, 0x10
lea rcx, [rbp + 7]
call fcn.140005de0
nop
mov r8d, 4
lea rdx, str..exe
mov rcx, rax
call fcn.140003b40
xor edi, edi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x19], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 9], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x140005cb3
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005cae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005dcd
call fcn.14000893c
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], 0xf
mov byte [rbp + 7], 0
mov edx, 0x10
lea rcx, [rbp + 0x27]
call fcn.140005de0
cmp qword [rax + 0x18], 0x10
jb 0x140005cdb
mov rax, qword [rax]
mov rcx, rax
call qword [0x14001f090]
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0x10
jb 0x140005d1f
inc rdx
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005dd3
call fcn.14000893c
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rdx, qword [rbp - 0x19]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140005d3a
mov rcx, qword [rbx]
call fcn.14000f074
test eax, eax
je 0x140005d47
xor bl, bl
jmp 0x140005d6c
lea rax, [rbp - 0x19]
cmp rbx, rax
je 0x140005d6a
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rdx, qword [rbp - 0x19]
mov r8, qword [rbp - 9]
mov rcx, rbx
call fcn.1400039e0
mov bl, 1
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140005da3
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005dc7
call fcn.14000893c
movzx eax, bl
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1400088e0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.14000ed84
nop
call fcn.14000ed84
nop
call fcn.14000ed84
int3
Function at 0x140007e90
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x270
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x140007ef1
lea r8, [r10 + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x140007eb0
mov ecx, dword [r10]
jmp 0x140007fda
cmp ecx, 0x4e0
jb 0x140007fda
lea r11, [r10 + 0x9c4]
mov qword [rsp], rbx
mov eax, dword [r11]
mov ebx, 0xe3
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140007f10
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140007f60
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret

Function at 0x14000ffa4
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x14000fdd0
Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
xor ecx, ecx
mov dword [rbp - 0x20], 0x82e2a03
mov edx, ecx
mov dword [rbp - 0x1c], 0x252c2939
mov dword [rbp - 0x18], 0x3c383f1f
mov word [rbp - 0x14], Ordinal_41
mov byte [rbp - 0x12], 1
nop dword [rax]
lea eax, [rdx + 0x47]
xor byte [rbp + rdx - 0x20], al
inc rdx
cmp rdx, 0xd
jb 0x140001030
movdqa xmm0, xmmword [0x1400ea370]
lea rax, [rbp - 0x20]
mov qword [0x1400fb0c0], rax
mov rdx, rcx
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0x100363e
nop dword [rax]
nop word [rax + rax]
lea eax, [rdx + 0x47]
xor byte [rbp + rdx - 0x20], al
inc rdx
cmp rdx, 0x12
jb 0x140001070
lea rax, [rbp - 0x20]
mov dword [rbp - 0x20], 0x250a3c09
mov qword [0x1400fb0d8], rax
mov dword [rbp - 0x1c], 0x20243825
mov dword [rbp - 0x18], 0x100353a
lea eax, [rcx + 0x47]
xor byte [rbp + rcx - 0x20], al
inc rcx
cmp rcx, 0xa
jb 0x1400010a0
lea rax, [rbp - 0x20]
mov qword [0x1400fb0f0], rax
add rsp, 0x20
pop rbp
ret
Function at 0x140004ef0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rdx
test rcx, rcx
je 0x140005093
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140005093
movsxd rax, dword [rcx + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x140005093
mov edx, 0x20b
cmp word [rax + rcx + 0x18], dx
jne 0x140005093
mov qword [rbx], rcx
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
mov qword [rsp + 0x40], rdi
mov qword [rbx + 8], rcx
xor edi, edi
mov qword [rsp + 0x48], r14
lea rax, [rcx + 4]
mov qword [rbx + 0x10], rax
lea r14, [rcx + 0x18]
lea rax, [rcx + 0x18]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 0x88]
mov qword [rbx + 0x20], rax
lea rax, [rcx + 0x90]
mov qword [rbx + 0x28], rax
lea rax, [rcx + 0x98]
mov qword [rbx + 0x30], rax
lea rax, [rcx + 0xa0]
mov qword [rbx + 0x38], rax
lea rax, [rcx + 0xa8]
mov qword [rbx + 0x40], rax
lea rax, [rcx + 0xb0]
mov qword [rbx + 0x48], rax
lea rax, [rcx + 0xb8]
mov qword [rbx + 0x50], rax
lea rax, [rcx + 0xc0]
mov qword [rbx + 0x58], rax
lea rax, [rcx + 0xc8]
mov qword [rbx + 0x60], rax
lea rax, [rcx + 0xd0]
mov qword [rbx + 0x68], rax
lea rax, [rcx + 0xd8]
mov qword [rbx + 0x70], rax
lea rax, [rcx + 0xe0]
mov qword [rbx + 0x78], rax
lea rax, [rcx + 0xe8]
mov qword [rbx + 0x80], rax
lea rax, [rcx + 0xf0]
mov qword [rbx + 0x88], rax
lea rax, [rcx + 0xf8]
mov qword [rbx + 0x90], rax
lea rax, [rcx + 0x100]
mov qword [rbx + 0x98], rax
movzx eax, word [rcx + 0x14]
add r14, rax
cmp di, word [rcx + 6]
jae 0x140005081
mov qword [rsp + 0x38], rsi
nop dword [rax]
mov rdx, qword [rbx + 0xa8]
movsxd rax, edi
lea rcx, [rax + rax*4]
lea rax, [r14 + rcx*8]
mov qword [rsp + 0x30], rax
cmp rdx, qword [rbx + 0xb0]
je 0x14000505d
mov qword [rdx], rax
add qword [rbx + 0xa8], 8
jmp 0x14000506e
lea r8, [rsp + 0x30]
lea rcx, [rbx + 0xa0]
call fcn.1400050a0
mov rax, qword [rbx + 0x10]
inc edi
movzx ecx, word [rax + 2]
cmp edi, ecx
jl 0x140005030
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x48]
mov al, 1
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret
xor al, al
add rsp, 0x20
pop rbx
ret