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

Disassembly:
mov eax, 0x75af528
add eax, dword [0x14056aab0]
cmp ecx, eax
jne 0x14033295c
test edx, edx
je 0x14033298c
movzx eax, byte [0x140569c6e]
cmp al, 0x20
je 0x140332954
mov cl, 0xff
mov al, 0x38
lock cmpxchg byte [0x140569c6e], cl
je 0x1403329fc
cmp al, 0x20
jne 0x140332940
lea rax, [0x140569c60]
ret
test edx, edx
je 0x1403329c0
movzx eax, byte [0x1405699ed]
cmp al, 6
je 0x140332984
mov cl, 0x39
nop dword [rax]
mov al, 0x43
lock cmpxchg byte [0x1405699ed], cl
je 0x140332a38
cmp al, 6
jne 0x140332970
lea rax, [0x1405699d0]
ret
movzx eax, byte [0x140569b63]
cmp al, 0xd0
je 0x1403329b8
mov cl, 0xe4
nop dword [rax]
mov al, 0xba
lock cmpxchg byte [0x140569b63], cl
je 0x140332a88
cmp al, byte [0x14056aab4]
jne 0x1403329a0
lea rax, [0x140569b60]
ret
movzx eax, byte [0x140569c49]
movzx ecx, byte [0x14056aab4]
add cl, 0xcb
cmp al, cl
je 0x1403329f4
mov cl, 0xcb
nop word [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x140569c49], cl
je 0x140332ad1
cmp al, 0x9b
jne 0x1403329e0
lea rax, [0x140569c40]
ret
xor eax, eax
lea rcx, [0x140569c60]
lea rdx, [0x14046ce40]
nop dword [rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x140332a68
inc rax
jmp 0x140332a10
xor eax, eax
lea rcx, [0x1405699d0]
lea rdx, [0x14046cbe0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x1c
jg 0x140332a78
inc rax
jmp 0x140332a50
mov al, 0x20
xchg byte [0x140569c6e], al
lea rax, [0x140569c60]
ret
mov al, 6
xchg byte [0x1405699ed], al
lea rax, [0x1405699d0]
ret
xor edx, edx
lea rax, [0x140569b60]
lea rcx, [0x14046cd50]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14056aab0]
add edx, r8d
add edx, 0x75af529
cmp edx, 3
jl 0x140332aa0
mov al, 0xd0
xchg byte [0x140569b63], al
lea rax, [0x140569b60]
ret
xor eax, eax
lea rcx, [0x140569c40]
lea rdx, [0x14046ce20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x140332b18
inc rax
jmp 0x140332af0
mov al, 0x9b
xchg byte [0x140569c49], al
lea rax, [0x140569c40]
ret
Function at 0x140341580
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, dword [rsp + 0x40]
test ecx, ecx
je 0x1403415c9
test edx, edx
je 0x140341605
movzx eax, byte [0x14056cba9]
cmp al, 0x61
je 0x1403416a0
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x14056cba9], cl
je 0x140341669
cmp al, 0x61
jne 0x1403415b0
jmp 0x1403416a0
test edx, edx
je 0x140341639
movzx eax, byte [0x14056cb22]
cmp al, 0xc4
je 0x14034175d
mov cl, 9
nop
mov al, 0x13
lock cmpxchg byte [0x14056cb22], cl
je 0x1403416ac
mov edx, r8d
xor dl, 0x65
add dl, byte [0x14056d1bc]
cmp al, dl
jne 0x1403415e0
jmp 0x14034175d
movzx eax, byte [0x14056cae0]
cmp al, 0x56
je 0x14034174c
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xf
lock cmpxchg byte [0x14056cae0], cl
je 0x1403416dc
cmp al, 0x56
jne 0x140341620
jmp 0x14034174c
movzx eax, byte [0x14056cb83]
cmp al, 0xa7
je 0x1403417bd
mov cl, 0x9a
nop word [rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x14056cb83], cl
je 0x140341766
cmp al, 0xa7
jne 0x140341650
jmp 0x1403417bd
xor eax, eax
lea rcx, [0x14056cba0]
lea rdx, [0x14046d270]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x140341698
inc rax
jmp 0x140341680
mov al, 0x61
xchg byte [0x14056cba9], al
lea rax, [0x14056cba0]
jmp 0x1403417c4
xor eax, eax
lea rcx, [0x14056cb10]
lea rdx, [0x14046d1e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x11
jg 0x140341755
inc rax
jmp 0x1403416c0
xor r10d, r10d
lea rax, [0x14056cad0]
lea rcx, [0x14046d1b0]
mov edx, r8d
xor edx, 0x2c28831a
mov r9d, r8d
xor r9d, 0x2c28830b
movsxd r10, r10d
movzx r11d, byte [r10 + rcx]
mov ebx, r11d
xor bl, r11b
not bl
and bl, byte [r10 + rax]
xor bl, r11b
mov byte [r10 + rax], bl
mov r11d, dword [0x14056d1b8]
lea esi, [rdx + r11]
mov edi, r10d
xor edi, esi
and r10d, esi
lea r10d, [rdi + r10*2]
add r11d, r9d
cmp r10d, r11d
jl 0x140341700
xor r8b, 0x17
add r8b, byte [0x14056d1bc]
xchg byte [0x14056cae0], r8b
lea rax, [0x14056cad0]
jmp 0x1403417c4
mov al, 0xc4
xchg byte [0x14056cb22], al
lea rax, [0x14056cb10]
jmp 0x1403417c4
xor eax, eax
lea rcx, [0x14056cb60]
lea rdx, [0x14046d230]
xor r8d, 0x2c28833c
nop dword [rax]
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
xor r11b, r10b
and r9b, r10b
add r9b, r9b
add r9b, r11b
mov byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14056d1b8]
add r10d, r8d
cmp r9d, r10d
jge 0x1403417b5
inc rax
jmp 0x140341780
mov al, 0xa7
xchg byte [0x14056cb83], al
lea rax, [0x14056cb60]
pop rbx
pop rdi
pop rsi
ret
Function at 0x1403419d0
Capabilities:
Encode data using xor

Disassembly:
mov r8d, dword [rsp + 0x28]
mov r9d, r8d
not r9d
mov eax, r9d
and eax, 0x6a283c6b
mov r10d, r8d
xor r10d, 0x95d7c394
or r10d, eax
not r10d
or r10d, eax
add r10d, dword [0x14056d1b8]
cmp ecx, r10d
jne 0x140341ad4
test edx, edx
je 0x140341b0c
movzx eax, byte [0x14056cb43]
nop word cs:[rax + rax]
cmp al, 0x8f
je 0x140341acc
movzx ecx, byte [0x14056d1bc]
mov eax, r8d
xor al, 0x69
add al, cl
mov edx, r8d
xor dl, cl
xor dl, 0x8d
mov r10d, r8d
xor r10b, 0x72
not cl
and cl, r10b
or cl, dl
not cl
add cl, cl
add cl, dl
lock cmpxchg byte [0x14056cb43], cl
jne 0x140341a20
xor edx, edx
lea rax, [0x14056cb30]
lea rcx, [0x14046d200]
mov r10d, r8d
xor r10d, 0x6a283c7c
and r10d, r9d
xor r8d, 0x95d7c383
and r9d, 0x6a283c7c
or r9d, r8d
not r9d
or r9d, r10d
movsxd r8, edx
movzx edx, byte [r8 + rcx]
mov r10d, edx
xor r10b, dl
not r10b
and r10b, byte [r8 + rax]
xor r10b, dl
mov byte [r8 + rax], r10b
lea edx, [r8 + r8]
sub edx, r8d
inc edx
mov r8d, dword [0x14056d1b8]
add r8d, r9d
cmp edx, r8d
jl 0x140341a90
mov al, 0x8f
xchg byte [0x14056cb43], al
lea rax, [0x14056cb30]
ret
test edx, edx
je 0x140341b3c
movzx eax, byte [0x14056cb9f]
cmp al, 0xe2
je 0x140341b04
mov cl, 0xc3
nop word cs:[rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x14056cb9f], cl
je 0x140341ba3
cmp al, 0xe2
jne 0x140341af0
lea rax, [0x14056cb90]
ret
movzx eax, byte [0x14056cb05]
cmp al, 0xe4
je 0x140341b34
mov cl, 0x9d
nop dword [rax]
mov al, 0xc9
lock cmpxchg byte [0x14056cb05], cl
je 0x140341c15
cmp al, 0xe4
jne 0x140341b20
lea rax, [0x14056caf0]
ret
movzx eax, byte [0x14056cb53]
mov ecx, r8d
xor cl, 0xe8
add cl, byte [0x14056d1bc]
cmp al, cl
je 0x140341b9b
mov cl, 0xc
nop word cs:[rax + rax]
mov al, 0x4e
lock cmpxchg byte [0x14056cb53], cl
je 0x140341c48
movzx edx, byte [0x14056d1bc]
mov r9d, r8d
xor r9b, dl
xor r9b, 0xe8
mov r10d, r8d
xor r10b, 0x17
not dl
and dl, r10b
or dl, r9b
not dl
add dl, dl
add dl, r9b
cmp al, dl
jne 0x140341b60
lea rax, [0x14056cb50]
ret
xor edx, edx
lea rax, [0x14056cb90]
lea rcx, [0x14046d260]
xor r8d, 0x6a283c78
nop word [rax + rax]
movsxd rdx, edx
movzx r9d, byte [rdx + rcx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rdx + rax]
xor r10b, r9b
mov byte [rdx + rax], r10b
add edx, 0xe1756e0c
mov r9d, edx
xor r9d, 0x1e8a91f5
and edx, 0x1e8a91f5
lea edx, [r9 + rdx*2]
mov r9d, dword [0x14056d1b8]
add r9d, r8d
cmp edx, r9d
jl 0x140341bc0
mov al, 0xe2
xchg byte [0x14056cb9f], al
lea rax, [0x14056cb90]
ret
xor eax, eax
lea rcx, [0x14056caf0]
lea rdx, [0x14046d1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x140341c78
inc rax
jmp 0x140341c30
xor eax, eax
lea rcx, [0x14056cb50]
lea rdx, [0x14046d220]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x140341c88
inc rax
jmp 0x140341c60
mov al, 0xe4
xchg byte [0x14056cb05], al
lea rax, [0x14056caf0]
ret
mov al, 0xc9
xchg byte [0x14056cb53], al
lea rax, [0x14056cb50]
ret
Function at 0x14034d7d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x9fef024c
add eax, dword [0x14056e7f0]
cmp ecx, eax
jne 0x14034d808
movzx eax, byte [0x14056e5fb]
cmp al, 0xd2
je 0x14034d800
mov cl, 0xbc
nop dword [rax]
mov al, 0x28
lock cmpxchg byte [0x14056e5fb], cl
je 0x14034d86c
cmp al, 0xd2
jne 0x14034d7f0
lea rax, [0x14056e5f0]
ret
test edx, edx
je 0x14034d838
movzx eax, byte [0x14056e685]
cmp al, 0xf
je 0x14034d830
mov cl, 0x7b
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x14056e685], cl
je 0x14034d8a8
cmp al, 0xf
jne 0x14034d820
lea rax, [0x14056e670]
ret
movzx eax, byte [0x14056e640]
cmp al, 0x6e
je 0x14034d864
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x11
lock cmpxchg byte [0x14056e640], cl
je 0x14034d8f1
cmp al, 0x6e
jne 0x14034d850
lea rax, [0x14056e600]
ret
xor eax, eax
lea rcx, [0x14056e5f0]
lea rdx, [0x14046d9e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xa
jg 0x14034d898
inc rax
jmp 0x14034d880
mov al, 0xd2
xchg byte [0x14056e5fb], al
lea rax, [0x14056e5f0]
ret
xor edx, edx
lea rax, [0x14056e670]
lea rcx, [0x14046da40]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14056e7f0]
add edx, r8d
add edx, 0x9fef024d
cmp edx, 0x15
jl 0x14034d8c0
mov al, 0xf
xchg byte [0x14056e685], al
lea rax, [0x14056e670]
ret
xor eax, eax
lea rcx, [0x14056e600]
lea rdx, [0x14046d9f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x3f
jg 0x14034d928
inc rax
jmp 0x14034d910
mov al, 0x6e
xchg byte [0x14056e640], al
lea rax, [0x14056e600]
ret
Function at 0x1403501e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rcx
cmp byte [rcx + 0xb0], 0
je 0x140350216
lea rcx, [rsi + 0xb8]
call fcn.140351790
mov byte [rsi + 0xb0], 0
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14035028d
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov r8, rax
neg r8
mov r9, rcx
xor r9, r8
and r8, rcx
lea rcx, [r9 + r8*2]
cmp rcx, 0x20
jae 0x14035036a
movabs rcx, 0xe7d124cf563d0459
add rcx, qword [0x14056f0e0]
movabs r8, 0x767b25f41d52e078
mov r9, rcx
xor r9, r8
and rcx, r8
lea rcx, [r9 + rcx*2]
mov r8, rdx
xor r8, rcx
and rdx, rcx
lea rdx, [r8 + rdx*2]
mov rcx, rax
lea rdi, [rsi + 0x88]
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rdi, qword [rax]
test rdi, rdi
je 0x140350300
movabs rbx, 0x5e4c4ac3738fe4da
nop dword [rax + rax]
mov r14, qword [rdi]
lea rcx, [rdi + 0x18]
call fcn.140351ab0
mov rax, qword [0x14056f0e0]
mov rcx, rax
xor rcx, rbx
and rax, rbx
lea rdx, [rcx + rax*2]
mov rcx, rdi
call fcn.1400ab270
mov rdi, r14
test r14, r14
jne 0x1403502d0
mov rcx, qword [rsi + 0x78]
mov edx, 0x30
call fcn.1400ab270
movzx eax, byte [0x14056f0d8]
add al, 0xc7
cmp byte [rsi + 0x63], al
je 0x140350328
movzx eax, byte [0x14056f0d8]
add al, 0xc7
mov byte [rsi + 0x63], al
cmp byte [rsi + 0x49], 0
je 0x140350332
mov byte [rsi + 0x49], 0
cmp byte [rsi + 0x37], 0
je 0x14035033c
mov byte [rsi + 0x37], 0
cmp byte [rsi + 0x1b], 0
je 0x140350346
mov byte [rsi + 0x1b], 0
movzx eax, byte [0x14056f0d8]
add al, 0xc7
cmp byte [rsi], al
je 0x140350399
mov eax, dword [0x140591cf0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x140350388
jmp 0x14035036f
call fcn.1403e571c
mov byte [rsi], 0
lea rax, [fcn.1403501e0]
add eax, eax
add eax, 0x1120
mov ecx, eax
not ecx
test ecx, eax
je 0x140350399
mov al, 1
nop word [rax + rax]
mov byte [rsi], 0
test al, al
je 0x140350390
jmp 0x14035036f
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
Function at 0x140353120
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
movabs rax, 0x664c4ac3738fe4aa
add rax, qword [0x14056f0e0]
cmp rdx, rax
ja 0x14035331e
mov rsi, rcx
dec rdx
or rdx, 1
bsr rcx, rdx
xor ecx, 0x3f
neg cl
mov ebx, 1
shl rbx, cl
lea rax, [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rdi
call fcn.140350540
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rax, qword [rsi + 8]
mov rax, qword [rax]
cmp rax, rdi
je 0x140353311
movabs rcx, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
jmp 0x1403531c1
mov qword [r9 + r10*8], r8
mov qword [r9 + r11*8], r8
cmp rax, rdi
je 0x140353311
mov r8, rax
movzx r9d, byte [0x140591cf8]
add r9b, byte [rax + 0x10]
mov rax, qword [rax]
movzx r9d, r9b
xor r9, rcx
imul r9, rdx
movzx r10d, byte [r8 + 0x11]
mov r11, r10
not r11
and r11, r9
not r9d
and r9d, r10d
or r11, r9
imul r11, rdx
movzx r9d, byte [r8 + 0x12]
mov r10, r9
not r10
and r10, r11
not r11d
and r11d, r9d
or r10, r11
imul r10, rdx
movzx r9d, byte [r8 + 0x13]
xor r9, r10
imul r9, rdx
mov rbx, qword [rsi + 0x30]
xor rbx, r9
not rbx
and rbx, r9
mov r9, qword [rsi + 0x18]
lea r10, [rbx + rbx]
lea r11, [rbx + rbx]
inc r11
shl rbx, 4
mov r14, qword [r9 + rbx]
cmp r14, rdi
je 0x1403531b0
mov rbx, qword [r9 + r11*8]
mov ebp, dword [r8 + 0x10]
cmp ebp, dword [rbx + 0x10]
jne 0x1403532b0
mov r10, qword [rbx]
cmp r10, r8
sete bl
movzx ebp, byte [0x14058f510]
test bpl, bl
jne 0x1403531b4
xor bpl, bl
jne 0x1403531b4
mov rbx, qword [r8 + 8]
mov qword [rbx], rax
mov r14, qword [rax + 8]
mov qword [r14], r10
mov r15, qword [r10 + 8]
mov qword [r15], r8
mov qword [r10 + 8], r14
mov qword [rax + 8], rbx
mov qword [r8 + 8], r15
jmp 0x1403531b4
cmp r14, rbx
je 0x1403532e7
mov rbx, qword [rbx + 8]
cmp ebp, dword [rbx + 0x10]
jne 0x1403532b0
mov r9, qword [rbx]
mov r10, qword [r8 + 8]
mov qword [r10], rax
mov r11, qword [rax + 8]
mov qword [r11], r9
mov rbx, qword [r9 + 8]
mov qword [rbx], r8
mov qword [r9 + 8], r11
mov qword [rax + 8], r10
mov qword [r8 + 8], rbx
jmp 0x1403531b8
mov r11, qword [r8 + 8]
mov qword [r11], rax
mov r14, qword [rax + 8]
mov qword [r14], rbx
mov r15, qword [rbx + 8]
mov qword [r15], r8
mov qword [rbx + 8], r14
mov qword [rax + 8], r11
mov qword [r8 + 8], r15
mov qword [r9 + r10*8], r8
jmp 0x1403531b8
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
xor ecx, ecx
xor edx, edx
mov r8d, 0x1648d06e
call fcn.140355f90
mov rcx, rax
call fcn.1404071f4
int3
Function at 0x140363bc0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x18], rdx
call fcn.14037abc0
test rax, rax
sete cl
or cl, byte [0x14058f758]
movzx edx, byte [0x14058f788]
mov r8d, edx
and r8b, cl
test r8b, 1
jne 0x140363c1e
mov r8d, edx
xor r8b, 1
and r8b, cl
test r8b, 1
jne 0x140363c1e
xor cl, 1
and dl, cl
test dl, 1
jne 0x140363c1e
add rsp, 0x40
pop rbp
ret
mov ecx, 0x7f
call fcn.140172870
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
mov r8d, 0xc649bf83
mov r9d, 0xb8dcf098
add rsp, 0x40
pop rbp
jmp fcn.140364330
Function at 0x140378e80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
xor eax, eax
test rcx, rcx
je 0x140378ff9
test rdx, rdx
je 0x140378ff9
mov al, 1
cmp rcx, rdx
je 0x140378ff9
movabs r9, 0xef0d2a040d9994a9
xor r8d, r8d
xor r10d, r10d
nop word cs:[rax + rax]
mov r11, r8
sub r11, r9
movzx ebx, byte [0x1405751a8]
add bl, 0xb3
xor esi, esi
cmp byte [rcx + r8], 0
setne sil
movzx r8d, r10b
movzx r10d, bl
cmovne r10d, r8d
add r11, r9
mov r8, r11
add r8, rsi
test r10b, 1
je 0x140378ec0
xor r9d, r9d
mov r10d, 1
xor r11d, r11d
nop word cs:[rax + rax]
xor esi, esi
cmp byte [rdx + r9], 0
setne sil
movzx r11d, r11b
cmove r11d, r10d
mov rdi, rsi
xor rdi, r9
and esi, r9d
lea r9, [rdi + rsi*2]
mov ebx, r11d
and bl, 1
movzx esi, byte [0x1405751a8]
add sil, 0xb2
cmp bl, sil
je 0x140378f10
cmp r8, r9
jne 0x140378ff7
test r8, r8
je 0x140378ff9
xor r9d, r9d
xor r10d, r10d
jmp 0x140378f93
movzx ebx, byte [0x1405751a8]
add bl, 0xb3
cmp sil, 0x2e
movzx r10d, r10b
movzx esi, bl
cmove r10d, esi
cmp r11b, 0x2e
cmove r10d, esi
mov r11d, dword [0x14058f408]
add r9d, r11d
inc r9d
cmp r8, r9
jbe 0x140378ff9
movzx r11d, byte [rcx + r9]
movzx esi, byte [rdx + r9]
cmp r11b, sil
je 0x140378f60
test r10b, 1
jne 0x140378ff7
lea ebx, [r11 - 0x61]
movzx edi, byte [0x1405751a8]
lea ebp, [rdi + r11]
add bpl, 0x92
cmp bl, 0x1a
movzx ebx, bpl
movzx r11d, r11b
cmovb r11d, ebx
lea ebx, [rsi - 0x61]
mov ebp, edi
xor bpl, 0xcc
and dil, 0x4c
add dil, dil
add dil, bpl
lea ebp, [rsi - 0x20]
cmp bl, dil
movzx edi, sil
movzx esi, bpl
cmovae esi, edi
cmp r11b, sil
je 0x140378f60
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
ret
Function at 0x140389e80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x238
mov rax, qword [0x14057e8d8]
xor rax, rsp
mov qword [rsp + 0x230], rax
movabs rdi, 0xa3d3020ee34b4bef
mov rax, qword [0x1405923b0]
test rax, rax
je 0x140389f4d
movabs rax, 0x4a6fdd95ef42331
mov ecx, dword [0x140592484]
cmp ecx, 0xe
jg 0x140389ede
inc qword [0x1405749b0]
mov rsi, qword [0x1405923b0]
xor ecx, ecx
test cl, cl
je 0x140389f31
mov rcx, qword [0x1405749b0]
mov rdx, rcx
neg rdx
mov r8, rdx
sub r8, rcx
inc r8
mov r9, rdi
sub r9, rax
add r9, qword [0x140576780]
add r9, rax
imul r8, rdx
add r9, rcx
add r9, r8
shl r9, cl
shl r9, cl
mov rdx, r9
xor rdx, rcx
and r9, rcx
lea rcx, [rdx + r9*2]
mov qword [0x1405749b0], rcx
mov rcx, qword [0x1405923b0]
jmp 0x140389eca
mov eax, esi
not eax
and eax, 0x11223344
and rsi, 0xffffffffeeddccbb
or rsi, rax
test rsi, rsi
jne 0x14038a079
movaps xmm0, xmmword [0x14046ffc0]
movaps xmmword [rsp + 0x30], xmm0
movabs rax, 0x1804242b697f3d33
mov qword [rsp + 0x40], rax
movzx eax, byte [0x140576778]
add al, 7
mov ecx, 0xffffdb99
add ecx, dword [0x1405764a4]
mov byte [rsp + 0x48], al
movsxd rax, ecx
add rax, qword [0x1405764b0]
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov edx, 6
mov r8d, 0xed48e103
mov r9d, 0xf29cb72a
call qword [case.0x140114b5b.0]
mov rax, qword [0x140576780]
mov rcx, rdi
xor rcx, rax
and rdi, rax
lea rax, [rcx + rdi*2]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1405764a0]
sub eax, dword [0x140576788]
add eax, 0x9c92825a
cdqe
add rax, qword [0x1405764b8]
lea rdx, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0xd6c05557
mov r9d, 0x5f397b2d
call qword [case.0x140114b5b.0]
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
test rax, rax
je 0x14038a059
mov rax, qword [0x1405923b0]
test rax, rax
jne 0x14038a059
mov eax, dword [0x140592484]
cmp eax, 0x1f
jg 0x14038a03e
mov qword [0x1405923b0], rsi
xor qword [0x1405923b0], 0x11223344
xor eax, eax
test al, al
je 0x14038a059
mov qword [0x1405923b0], rsi
mov rax, qword [0x1405923b0]
mov qword [0x1405923b0], 0
jmp 0x14038a026
xor eax, eax
test al, al
nop dword [rax]
mov eax, dword [0x140576788]
mov ecx, eax
xor ecx, 0x636d593f
and eax, 0x636d593f
add eax, eax
add eax, ecx
jne 0x14038a060
xor eax, eax
test al, al
jne 0x14038a090
mov eax, dword [0x140592480]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14038a0a3
mov eax, dword [0x140592480]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14038a090
jmp 0x14038a07f
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140405570
mov rax, rsi
add rsp, 0x238
pop rdi
pop rsi
ret
Function at 0x1403a1cf0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x1403a1f21
mov rsi, rcx
dec rdx
or rdx, 1
bsr rcx, rdx
xor ecx, 0x3f
movabs rbx, 0x4119ce5e97ce91bd
add rbx, qword [0x1405794f8]
neg cl
shl rbx, cl
lea rax, [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rdi
call fcn.1403a0d60
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rax, qword [rsi + 8]
mov rax, qword [rax]
cmp rax, rdi
je 0x1403a1f13
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movabs r9, 0x4119cf5e97ce936f
jmp 0x1403a1da1
mov qword [r11 + rbx*8], r10
mov qword [r11 + rcx*8], r10
cmp rax, rdi
je 0x1403a1f13
mov r10, rax
mov rax, qword [rax]
movzx ecx, byte [r10 + 0x10]
xor rcx, rdx
imul rcx, r8
movzx r11d, byte [r10 + 0x11]
mov rbx, r11
not rbx
and rbx, rcx
not ecx
and ecx, r11d
or rbx, rcx
imul rbx, r8
movzx ecx, byte [r10 + 0x12]
xor rcx, rbx
imul rcx, r8
movzx r11d, byte [r10 + 0x13]
mov rbx, r11
not rbx
and rbx, rcx
not ecx
and ecx, r11d
or rbx, rcx
imul rbx, r8
movzx ecx, byte [r10 + 0x14]
xor rcx, rbx
imul rcx, r8
movzx r11d, byte [r10 + 0x15]
xor r11, rcx
imul r11, r8
movzx ecx, byte [r10 + 0x16]
xor rcx, r11
imul rcx, r8
movzx r11d, byte [r10 + 0x17]
xor r11, rcx
mov rcx, qword [0x1405794f8]
lea r14, [rcx + r9]
imul r14, r11
mov r11, qword [rsi + 0x18]
mov rbx, qword [rsi + 0x30]
mov r15, r14
not r15
xor r14, rbx
not rbx
and rbx, r15
or rbx, r14
not rbx
add cl, 0xbd
shl rbx, cl
mov rcx, rbx
or rcx, 1
mov r15, qword [r11 + rbx*8]
cmp r15, rdi
je 0x1403a1d90
mov r14, qword [r11 + rcx*8]
mov r12, qword [r10 + 0x10]
cmp r12, qword [r14 + 0x10]
jne 0x1403a1eb0
mov rbx, qword [r14]
cmp rbx, r10
je 0x1403a1d94
mov r14, qword [r10 + 8]
mov qword [r14], rax
mov r15, qword [rax + 8]
mov qword [r15], rbx
mov r12, qword [rbx + 8]
mov qword [r12], r10
mov qword [rbx + 8], r15
mov qword [rax + 8], r14
mov qword [r10 + 8], r12
jmp 0x1403a1d94
cmp r15, r14
je 0x1403a1ee8
mov r14, qword [r14 + 8]
cmp r12, qword [r14 + 0x10]
jne 0x1403a1eb0
mov rcx, qword [r14]
mov r11, qword [r10 + 8]
mov qword [r11], rax
mov rbx, qword [rax + 8]
mov qword [rbx], rcx
mov r14, qword [rcx + 8]
mov qword [r14], r10
mov qword [rcx + 8], rbx
mov qword [rax + 8], r11
mov qword [r10 + 8], r14
jmp 0x1403a1d98
mov rcx, qword [r10 + 8]
mov qword [rcx], rax
mov r15, qword [rax + 8]
mov qword [r15], r14
mov r12, qword [r14 + 8]
mov qword [r12], r10
mov qword [r14 + 8], r15
mov qword [rax + 8], rcx
mov qword [r10 + 8], r12
mov qword [r11 + rbx*8], r10
jmp 0x1403a1d98
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor ecx, ecx
mov edx, 1
mov r8d, 0x1302fded
call fcn.1403a9e50
mov rcx, rax
call fcn.1404071f4
int3
Function at 0x1403a7580
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x14057e8d8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14, qword [rdx + 8]
mov r15, qword [r14]
cmp r15, r14
je 0x1403a7718
mov rsi, rcx
movabs r12, 0xcbf29ce484222325
movabs r13, 0x100000001b3
movabs rbp, 0x4119cf5e97ce936f
lea rdi, [rsp + 0x20]
lea rbx, [rsp + 0x30]
jmp 0x1403a760b
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x30], rax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x38], eax
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1403a7740
mov r15, qword [r15]
cmp r15, r14
je 0x1403a7718
movzx eax, byte [r15 + 0x10]
mov ecx, r12d
not ecx
and ecx, eax
not rax
and rax, r12
or rcx, rax
imul rcx, r13
movzx eax, byte [r15 + 0x11]
mov rdx, rax
not rdx
and rdx, rcx
not ecx
and ecx, eax
or rdx, rcx
mov rax, qword [0x1405794f8]
add rax, rbp
imul rax, rdx
movzx ecx, byte [r15 + 0x12]
xor rcx, rax
imul rcx, r13
movzx eax, byte [r15 + 0x13]
xor rax, rcx
imul rax, r13
movzx ecx, byte [r15 + 0x14]
xor rcx, rax
imul rcx, r13
movzx eax, byte [r15 + 0x15]
xor rax, rcx
imul rax, r13
movzx ecx, byte [r15 + 0x16]
mov r8, rcx
not r8
and r8, rax
not eax
and eax, ecx
or r8, rax
imul r8, r13
movzx eax, byte [r15 + 0x17]
mov rdx, rax
not rdx
and rdx, r8
not r8d
and r8d, eax
or rdx, r8
imul rdx, r13
mov rax, qword [rsi + 0x30]
xor rdx, rax
not rdx
and rdx, rax
mov rcx, qword [rsi + 8]
mov r9, qword [rsi + 0x18]
mov rax, rdx
shl rax, 4
mov rax, qword [r9 + rax + 8]
cmp rax, rcx
je 0x1403a75e0
mov r8, qword [r15 + 0x10]
cmp r8, qword [rax + 0x10]
je 0x1403a7703
add rdx, rdx
mov rdx, qword [r9 + rdx*8]
nop word cs:[rax + rax]
cmp rax, rdx
je 0x1403a75e0
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x1403a76f0
cmp rax, rcx
je 0x1403a75e0
mov ecx, dword [r15 + 0x18]
add dword [rax + 0x18], ecx
jmp 0x1403a75ff
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140405570
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret