joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1402861ec
Capabilities:
Query environment variable

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 r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x14028621c
xor eax, eax
jmp 0x1402862df
mov rbp, rbx
cmp word [rax], si
je 0x140286241
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x140286228
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x140286224
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.14028613c
movsxd r14, eax
test eax, eax
jne 0x14028627f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x140286215
mov rcx, r14
call fcn.140114d90
mov rdi, rax
test rax, rax
jne 0x140286298
xor ecx, ecx
call fcn.140114df0
jmp 0x140286274
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.14028613c
test eax, eax
jne 0x1402862c9
mov rcx, rdi
call fcn.140114df0
jmp 0x1402862d3
xor ecx, ecx
call fcn.140114df0
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x1402862fc
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x140286383
mov rsi, rbx
cmp word [rax], bp
je 0x140286342
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x14028632c
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x140286328
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140114d90
mov rdi, rax
test rax, rax
je 0x140286370
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.140258c70
mov rbp, rdi
xor ecx, ecx
call fcn.140114df0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140288924
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.140263b4c
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x1402889ae
cmp byte [rbp - 0x21], r15b
je 0x1402889a9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x1402889e4
call fcn.14027f2c4
test eax, eax
jne 0x1402889d0
cmp byte [rbp - 0x21], r15b
je 0x1402889c8
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x1402889e4
cmp byte [rbp - 0x21], r15b
je 0x1402889e1
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.140269128
test eax, eax
jne 0x140288a84
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.140263b4c
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x140288a23
cmp byte [rbp - 0x21], r15b
je 0x140288a58
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140288a58
call fcn.14027f2c4
test eax, eax
jne 0x140288a44
cmp byte [rbp - 0x21], r15b
je 0x140288a3d
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140288a58
cmp byte [rbp - 0x21], r15b
je 0x140288a55
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.140269128
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140288a84
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140288a87
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140288a95
mov rcx, rdi
call fcn.140114df0
cmp byte [rbp + 0x3f], r15b
je 0x140288aa4
mov rcx, qword [rbp + 0x27]
call fcn.140114df0
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 0x1402891e8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov ebp, 0x7ff
movzx ecx, word [rcx + 6]
mov esi, edx
shr cx, 4
and cx, bp
cmp cx, bp
jne 0x140289249
test byte [rbx + 6], 0xf
jne 0x14028923c
xor edi, edi
cmp word [rbx + 4], di
jne 0x14028923c
cmp word [rbx + 2], di
jne 0x14028923c
cmp word [rbx], di
jne 0x14028923c
lea esi, [rdi + 1]
jmp 0x140289241
mov esi, 2
movzx eax, si
jmp 0x140289446
xor edi, edi
test cx, cx
jne 0x140289264
mov rcx, rbx
call fcn.14028cf98
movzx ecx, ax
cmp di, ax
jl 0x140289443
movsx edx, cx
test esi, esi
jle 0x140289294
sub ebp, edx
cmp ebp, esi
jg 0x140289294
movsd xmm0, qword [0x1402975d0]
cmp word [rbx + 6], di
jge 0x140289286
xorps xmm0, xmmword [0x140292d90]
movsd qword [rbx], xmm0
mov eax, 1
jmp 0x140289446
movzx r11d, word [rbx + 6]
mov eax, edx
neg eax
cmp eax, esi
jge 0x1402892c1
add si, cx
mov eax, 0x800f
shl si, 4
and r11w, ax
or si, r11w
mov word [rbx + 6], si
or eax, 0xffffffff
jmp 0x140289446
movzx r15d, r11w
lea ebp, [rsi - 1]
and r11w, 0xf
mov r13d, 0x8000
mov r12d, 0x10
and r15w, r13w
or r11w, r12w
add ebp, edx
cmp ebp, 0xffffffcb
jl 0x140289438
test ebp, ebp
jns 0x140289438
lea esi, [r12 - 0xf]
movzx r14d, di
cmp bp, 0xfff0
jg 0x14028935c
movzx ecx, word [rbx + 4]
mov eax, 0xfff0
movzx edx, word [rbx + 2]
sub ax, bp
shr ax, 4
movzx r9d, r11w
add ax, si
movzx r8d, ax
movzx eax, r8w
shl ax, 4
add bp, ax
test r14w, r14w
mov eax, edi
setne al
movzx r14d, ax
or r14w, word [rbx]
mov word [rbx], dx
movzx edx, cx
movzx ecx, r9w
mov r9d, edi
sub r8, rsi
jne 0x14028932d
mov word [rbx + 4], cx
movzx r11d, di
mov word [rbx + 2], dx
neg bp
je 0x1402893db
movzx r8d, word [rbx]
mov eax, edi
movzx r9d, word [rbx + 2]
movzx edx, r8w
movsx r10d, bp
sub r12d, r10d
mov ecx, r12d
shl dx, cl
test r14w, r14w
movzx r14d, dx
movzx edx, word [rbx + 4]
setne al
or r14w, ax
movzx eax, r9w
shl ax, cl
movzx ecx, bp
shr r8w, cl
mov ecx, r12d
or ax, r8w
mov word [rbx], ax
movzx eax, dx
shl ax, cl
movzx ecx, bp
shr r9w, cl
mov ecx, r12d
or ax, r9w
mov word [rbx + 2], ax
movzx eax, r11w
shl ax, cl
movzx ecx, bp
shr dx, cl
mov ecx, r10d
or ax, dx
mov word [rbx + 4], ax
shr r11w, cl
or r11w, r15w
mov word [rbx + 6], r11w
cmp r13w, r14w
jb 0x1402893f1
jne 0x140289410
test byte [rbx], sil
je 0x140289410
add word [rbx], si
jne 0x140289410
add word [rbx + 2], si
jne 0x140289410
add word [rbx + 4], si
jne 0x140289410
add r11w, si
mov word [rbx + 6], r11w
jmp 0x1402892b9
cmp r11w, r15w
jne 0x1402892b9
cmp word [rbx + 4], di
jne 0x1402892b9
cmp word [rbx + 2], di
jne 0x1402892b9
cmp word [rbx], di
je 0x140289443
jmp 0x1402892b9
mov word [rbx + 6], r15w
mov dword [rbx + 2], edi
mov word [rbx], di
movzx eax, di
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1402896dc
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x14028970e
call fcn.14026c628
mov dword [rax], 0x16
call fcn.14026de68
jmp 0x14028982d
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x14028982d
mov eax, dword [rcx + 0x14]
shr eax, 0xc
test al, 1
jne 0x14028982d
mov eax, dword [rcx + 0x14]
shr eax, 1
test al, 1
je 0x14028973d
lock or dword [rcx + 0x14], 0x10
jmp 0x14028982d
lock or dword [rcx + 0x14], 1
mov eax, dword [rcx + 0x14]
test eax, 0x4c0
jne 0x140289751
call fcn.14028b1dc
mov rdi, qword [rsi + 8]
mov rcx, rsi
mov ebx, dword [rsi + 0x20]
mov qword [rsi], rdi
call fcn.14026c9e0
mov r8d, ebx
mov rdx, rdi
mov ecx, eax
call fcn.14026e844
mov dword [rsi + 0x10], eax
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x14028981b
mov eax, dword [rsi + 0x14]
or edi, 0xffffffff
test al, 6
jne 0x1402897e6
mov rcx, rsi
call fcn.14026c9e0
cmp eax, edi
je 0x1402897d1
mov rcx, rsi
call fcn.14026c9e0
cmp eax, 0xfffffffe
je 0x1402897d1
mov rcx, rsi
call fcn.14026c9e0
movsxd rbx, eax
lea r14, [0x14031e330]
mov rcx, rsi
sar rbx, 6
call fcn.14026c9e0
and eax, 0x3f
lea rcx, [rax + rax*8]
mov rax, qword [r14 + rbx*8]
lea rdx, [rax + rcx*8]
jmp 0x1402897d8
lea rdx, [0x14030c510]
mov al, byte [rdx + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1402897e6
lock or dword [rsi + 0x14], 0x20
cmp dword [rsi + 0x20], 0x200
jne 0x14028980a
mov eax, dword [rsi + 0x14]
shr eax, 6
test al, 1
je 0x14028980a
mov eax, dword [rsi + 0x14]
shr eax, 8
test al, 1
jne 0x14028980a
mov dword [rsi + 0x20], 0x1000
mov rax, qword [rsi]
add dword [rsi + 0x10], edi
movzx edi, byte [rax]
inc rax
mov qword [rsi], rax
jmp 0x140289830
neg eax
sbb eax, eax
and eax, 8
add eax, 8
lock or dword [rsi + 0x14], eax
and dword [rsi + 0x10], 0
or edi, 0xffffffff
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop r14
ret
Function at 0x140001140
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r15
sub rsp, 0x30
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor esi, esi
xor eax, eax
lock cmpxchg qword [0x140003638], rbx
je 0x14000118c
cmp rax, rbx
jne 0x14000117f
mov ebx, 1
mov esi, ebx
jmp 0x140001191
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x140001164
mov ebx, 1
mov eax, dword [0x140003640]
cmp eax, ebx
jne 0x1400011a7
mov ecx, 0x1f
call sub.msvcrt.dll__amsg_exit
jmp 0x140001216
mov eax, dword [0x140003640]
test eax, eax
jne 0x140001210
mov dword [0x140003640], ebx
lea r15, [0x140002310]
lea rdi, [0x1400022f8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
cmp rdi, r15
jae 0x140001202
test eax, eax
jne 0x140001206
cmp qword [rdi], 0
je 0x1400011f7
movabs r10, 0xd30527475e523070
mov rax, qword [rdi]
mov rcx, qword [vtable.q:P:H_tH_:.0]
call rcx
mov dword [rsp + 0x20], eax
add rdi, 8
mov qword [rsp + 0x28], rdi
jmp 0x1400011ce
test eax, eax
je 0x140001216
mov eax, 0xff
jmp 0x1400012fc
mov dword [0x140003044], ebx
mov eax, dword [0x140003640]
cmp eax, ebx
jne 0x14000123d
lea rdx, [0x1400022f0]
lea rcx, [0x1400022e0]
call sub.msvcrt.dll__initterm
mov dword [0x140003640], 2
test esi, esi
jne 0x14000124a
xor eax, eax
xchg qword [0x140003638], rax
cmp qword [0x140003648], 0
je 0x140001288
lea rcx, [0x140003648]
call fcn.140001510
test eax, eax
je 0x140001288
movabs r10, 0x99012e4578d92870
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140003648]
mov r9, qword [vtable.q:P:H_tH_:.0]
call r9
mov r8, qword [0x140003058]
mov rdx, qword [0x140003050]
mov ecx, dword [0x140003048]
call fcn.140001a78
mov dword [0x140003040], eax
cmp dword [0x140003060], 0
jne 0x1400012b8
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x140003044], 0
jne 0x1400012cd
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x140003040]
jmp 0x1400012fc
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r15
ret
sub rsp, 0x28
call fcn.14011a000
add rsp, 0x28
jmp 0x140001140

Function at 0x1400013fc
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x18
xor edx, edx
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140001448
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140001440
cmp dword [rcx + 0x3c], edx
jl 0x140001440
cmp dword [rcx + 0x3c], 0x10000000
jae 0x140001440
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp], rax
cmp dword [rax], 0x4550
cmovne rax, rdx
mov rdx, rax
mov qword [rsp], rax
jmp 0x140001448
mov rax, rdx
add rsp, 0x18
ret
Function at 0x1400011a0
Capabilities:
Create directory

Disassembly:
sub rsp, 0x58
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x54], 0x4e298830
cmp dword [rsp + 0x54], 0x30b5f084
mov qword [rsp + 0x38], rax
ja 0x1400011f0
jmp 0x1400011f0
mov rax, qword [rsp + 0x38]
mov ecx, eax
and ecx, 0x78694451
mov edx, ecx
mov qword [rsp + 0x48], rdx
xor ecx, ecx
call fcn.140003810
invalid
invalid
invalid

Function at 0x140001208
Capabilities:
Create directory

Disassembly:
cmp rcx, rdx
je 0x1400011c2
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x65
call rax
lea rcx, str.:
mov rax, qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xor edx, edx
call rax
mov rcx, qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x2c], eax
call rcx
sub eax, 3
sbb r8d, r8d
and r8d, 1
mov dword [rsp + 0x28], eax
mov eax, r8d
add rsp, 0x58
ret

Function at 0x140001260
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call rax
cmp eax, 4
jae 0x140001282
mov rax, qword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 0xfffffffe
call rax
ud2
add rsp, 0x28
ret

Function at 0x140001290
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x290
xor eax, eax
mov ecx, eax
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x78]
mov eax, 0x7ddbdbfa
mov dword [rsp + 0x284], 0x62605235
mov r9d, dword [rsp + 0x284]
sub eax, r9d
mov dword [rsp + 0x7c], eax
mov r10, rdx
mov dword [rsp + 0x78], 0xffffffff
mov r11, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor eax, eax
mov esi, eax
mov qword [rsp + 0x70], rcx
mov rcx, rsi
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x54], r9d
and al, 0x54

Function at 0x1400012f8
Capabilities:
Terminate process

Disassembly:
and al, 0x54
call r11
mov r9d, 0x200
mov rcx, qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r8d, 0x200
mov qword [rsp + 0x48], rcx
mov rcx, rax

Function at 0x140001318
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x44], r9d
call rax
lea rcx, [rsp + 0x78]
mov rdx, qword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
lea r10, [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov rcx, r11
mov qword [rsp + 0x30], rdx
mov rdx, r10
mov r10, qword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
call r10
mov r8d, dword [rsp + 0x54]
mov dword [rsp + 0x280], r8d
cmp eax, 0
jne 0x1400013b2
mov eax, 0x548dac20
cmp eax, dword [rsp + 0x7c]
and al, 0x7c
je 0x14000136d
mov rax, qword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 7
call rax
ud2
mov eax, 0xa770341b
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x280], ecx
mov edx, dword [rsp + 0x7c]
sub eax, dword [rsp + 0x284]
add al, byte [rax]
add byte [rcx], bh
sal byte [rdi], 1
call fcn.140002fe0
mov dword [rsp + 0x28], eax
jmp 0x1400013c7
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x284]
add ecx, 0x9d9fadd1
cmp eax, ecx
je 0x140001388
xor eax, eax
add rsp, 0x290
pop rsi
ret
Function at 0x140003490
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x48
lea rax, [fcn.140003490]
mov qword [rsp + 0x40], 0x41ad8484
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
xor rdx, 0x39aa81e6
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x18], rax
mov qword [rsp + 8], rcx
jmp 0x1400034e6
mov rax, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 4], ecx
mov ecx, edx
mov edx, dword [rsp + 4]
shl edx, cl
mov dword [rsp + 0x3c], edx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
cmp word [rax], 0x5a4d
je 0x140003508
jmp 0x140003538
mov rax, qword [rsp + 0x10]
add rsp, 0x48
ret
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x10]
movsxd rax, dword [rax + 0x3c]
mov rdx, qword [rsp + 8]
mov qword [rsp + 0x30], rdx
mov r8d, dword [rsp + 0x3c]
and r8d, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], r8d
cmp dword [rcx + rax], 0x4550
je 0x1400034fe
mov eax, 0xedf6b75
mov ecx, eax
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x10]
add rdx, 0xfffffffffffff000
and rdx, 0xfffffffffffff000
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x20]
or rdx, 0x3a299326
cmp rcx, rdx
jae 0x1400034fe
jmp 0x1400034c4

Function at 0x140003fa0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov dword [rsp + 0x40], 0x571f6c6
mov dword [rsp + 0x24], 0x7a3e8be7
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x44], 0x1ad6ad7f
mov qword [rsp + 0x30], 0
cmp r8, 0
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x10], r8
mov qword [rsp + 8], rcx
mov dword [rsp + 4], eax
jne 0x140003fec
mov rax, qword [rsp + 8]
add rsp, 0x48
ret
mov eax, dword [rsp + 0x40]
xor eax, 0x4ae9ac62
mov rcx, qword [rsp + 0x10]
and rcx, qword [rsp + 0x38]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x18]
mov r8b, byte [rdx + rcx]
mov r9, qword [rsp + 0x38]
and r9, 0x77bed069
mov qword [rsp + 0x38], r9
mov r9, qword [rsp + 8]
mov byte [r9 + rcx], r8b
add rcx, 1
mov r10d, dword [rsp + 0x24]
xor r10d, 0x56b1ec6e
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0x314ca830
cmp r10d, eax
ja 0x140003fec
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x10]
cmp rax, rcx
je 0x140003fe2
jmp 0x140003fec
Function at 0x180005740
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x180079340]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x180079ab0]
mov edi, edx
mov esi, ecx
cmp byte [rbx + 0x424d], 0
jne 0x1800057a8
cmp byte [rbx + 0x424e], 0
jne 0x1800057a8
movsx r9d, word [rbx + 0x532e]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.1800095b0
test sil, 1
je 0x1800058d9
jmp 0x180005841
movss xmm1, dword [rbx + 0x38b0]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x180049ab4]
xor eax, eax
mov edx, 0x10
mulss xmm1, dword [0x180049aa8]
addss xmm0, dword [rbx + 0xd94]
addss xmm1, dword [rbx + 0xd98]
or dword [rbx + 0x3fb0], 1
mov qword [rbx + 0x3fc8], rax
movss dword [rbx + 0x3fc0], xmm0
mov dword [rbx + 0x3fb4], 1
movss dword [rbx + 0x3fc4], xmm1
movss xmm0, dword [rbx + 0x390c]
mov rax, qword [0x180079ab0]
mulss xmm0, dword [0x180049a5c]
or dword [rax + 0x3fb0], 0x40
movss dword [rax + 0x4010], xmm0
movsx r9d, word [rbx + 0x532e]
call fcn.1800095b0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x180005891
lea r11, [0x180048e50]
cmp r9b, 0x23
jne 0x180005874
cmp byte [r8], r9b
jne 0x180005874
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 0x180005861
not ecx
call fcn.1800084c0
test rax, rax
je 0x1800058d9
cmp byte [rax + 0x96], 0
je 0x1800058d9
mov byte [rax + 0x9d], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb8], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x532e]
mov edx, 0x10
movsx r9d, word [rbx + 0x532e]
call fcn.1800095b0
or edi, 0x20c0347
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.1800032c0
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180044890
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

Function at 0x180008410
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x180079ab0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x180008473
mov qword [rsp], rbx
lea rbx, [0x180048e50]
nop dword [rax]
cmp r9b, 0x23
jne 0x180008453
cmp byte [r8], r9b
jne 0x180008453
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 0x180008440
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5390]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x1800084a7
mov r10, qword [r10 + 0x5398]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x1800084ae
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x180008494
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 0x180008ab0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0xd8]
lea r8, [0x180048e50]
movsxd rcx, dword [rcx + 0xd0]
mov r11d, edx
shr r11d, 0x18
mov r9d, edx
shr r9d, 8
mov r10d, edx
shr r10d, 0x10
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, dl
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r9b
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r10b
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, r11
shr ebx, 8
xor ebx, dword [r8 + rcx*4]
mov rcx, qword [0x180079ab0]
not ebx
cmp dword [rcx + 0x3edc], ebx
jne 0x180008b48
movsxd r8, edx
xor r9d, r9d
mov edx, 4
mov ecx, ebx
call fcn.180007250
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x180009300
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x20
movsxd rbp, r9d
mov r14, r8
test r8, r8
je 0x18000931b
mov qword [r8], 0
call fcn.180009460
mov rbx, rax
test rax, rax
jne 0x180009331
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
mov qword [rsp + 0x40], rsi
mov rcx, rbx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x18000943b
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x18000943b
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x18000943b
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x18000943b
cmp rdi, 0xffffffffffffffff
je 0x18000943b
mov rax, qword [0x180079ab0]
test rax, rax
je 0x1800093b4
inc dword [rax + 0xec]
mov rdx, qword [0x180079ac0]
lea rcx, [rdi + rbp]
call qword [section..data]
mov rsi, rax
test rax, rax
je 0x18000943b
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rdi
je 0x180009413
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x180079ab0]
test rax, rax
je 0x180009401
dec dword [rax + 0xec]
mov rdx, qword [0x180079ac0]
mov rcx, rsi
call qword [0x180079008]
jmp 0x180009444
test ebp, ebp
jle 0x180009425
lea rcx, [rdi + rsi]
mov r8, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x180009436
mov qword [r14], rdi
mov rax, rsi
jmp 0x180009446
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
Function at 0x180009700
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x18000975d
lea rbx, [0x180048e50]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x180009744
cmp r10, 2
jb 0x180009744
cmp byte [r9], r8b
jne 0x180009744
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x180009720
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18000979f
lea rbx, [0x180048e50]
cmp r8b, 0x23
jne 0x180009783
cmp byte [r9], r8b
jne 0x180009783
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x180009770
mov rbx, qword [rsp + 8]
not eax
ret