joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800dfaf0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
mov eax, 0x13c0
call fcn.1801b3f30
sub rsp, rax
mov rax, qword [0x1802993c0]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
mov ebx, edx
mov esi, ecx
call fcn.1801b24c0
mov dword [rsp + 0x24], eax
mov r9d, 1
mov dword [rsp + 0x13a4], 0xffffffff
mov r8d, eax
shr r8d, 0x1e
xor r8d, eax
imul eax, r8d, 0x6c078965
add eax, r9d
mov dword [rsp + r9*4 + 0x24], eax
inc r9
cmp r9, 0x270
jb 0x1800dfb33
btc esi, 0x1f
mov dword [rsp + 0x20], 0x270
btc ebx, 0x1f
lea rcx, [rsp + 0x20]
sub ebx, esi
cmp ebx, 0xffffffff
jne 0x1800dfb7d
call fcn.1800e0030
mov ecx, eax
jmp 0x1800dfbc6
mov qword [rsp + 0x13d0], rdi
inc ebx
call fcn.1800e0030
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x1800dfbba
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1800dfbba
lea rcx, [rsp + 0x20]
call fcn.1800e0030
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1800dfba6
mov rdi, qword [rsp + 0x13d0]
shr rcx, 0x20
lea eax, [rsi + rcx]
xor eax, 0x80000000
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.1801b2e60
mov rbx, qword [rsp + 0x13d8]
add rsp, 0x13c0
pop rsi
ret

Function at 0x1800e0030
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, rcx
mov r10d, 0x270
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x1800e0091
lea r8, [r9 + 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 r10, 1
jne 0x1800e0050
mov ecx, dword [r9]
jmp 0x1800e017b
cmp ecx, 0x4e0
jb 0x1800e017b
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
add r10, 4
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x1800e00b0
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x1800e0100
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 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 0x1800e5c20
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x1800e5c54
movabs r10, 0x100000001b3
nop
movzx ecx, byte [rdx + r9]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x1800e5c40
ret
Function at 0x1800e9190
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov dword [rcx + 0x74], 0
mov rbx, rcx
mov edi, 0x7fffffff
movsx ecx, byte [rbx + 0x78]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1800e9255
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x1800e9255
mov r9d, dword [rbx + 0x74]
mov ecx, 0x7fffffff
sub ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp r9d, edx
jg 0x1800e926e
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx]
cmp rcx, rax
je 0x1800e9245
cmp byte [rcx], 0x5c
jne 0x1800e923e
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x1800e923e
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1800e922c
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x1800e923b
test r8b, 0x10
jne 0x1800e923e
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x1800e923e
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1800e6100
test edi, edi
jne 0x1800e91b0
mov rbx, qword [rsp + 0x30]
cmp edi, 0x7fffffff
mov rsi, qword [rsp + 0x38]
setne al
add rsp, 0x20
pop rdi
ret
mov edx, esi
call fcn.1800e60f0
int3
Function at 0x18010a9d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x28
mov rbx, qword [rsp + 0x80]
mov r15, rcx
mov rcx, rdx
mov qword [rsp + 0x78], r13
mov rdi, rdx
mov qword [rsp + 0x60], rdx
mov rbp, rdx
mov r12, r9
lea rdx, [r8 - 1]
mov rax, r8
mov r13, rdx
mov qword [rsp + 0x68], rdx
sar r13, 1
cmp rcx, r13
jge 0x18010aa77
mov qword [rsp + 0x20], r14
nop
lea rbp, [rcx + rcx]
mov rcx, rbx
lea r14, [r15 + 0x10]
mov rdx, qword [r14 + rbp*8]
lea r14, [r14 + rbp*8]
mov r8, qword [r14 - 8]
lea rsi, [r14 - 8]
call fcn.1801055c0
movzx eax, al
test al, al
cmovne r14, rsi
xor rax, 1
lea rcx, [rax + 1]
mov rax, qword [r14]
add rcx, rbp
mov qword [r15 + rdi*8], rax
mov rdi, rcx
cmp rcx, r13
jl 0x18010aa20
mov r14, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
cmp rcx, r13
mov r13, qword [rsp + 0x78]
jne 0x18010aa91
test al, 1
jne 0x18010aa91
mov rax, qword [r15 + rax*8 - 8]
mov qword [r15 + rdi*8], rax
mov rdi, rdx
cmp rbp, rdi
jge 0x18010aae0
nop word [rax + rax]
mov r8, qword [r12]
lea rsi, [rdi - 1]
sar rsi, 1
mov rcx, rbx
mov rdx, qword [r15 + rsi*8]
call fcn.1801055c0
test al, al
je 0x18010aae0
mov rax, qword [r15 + rsi*8]
mov qword [r15 + rdi*8], rax
mov rdi, rsi
cmp rbp, rsi
jl 0x18010aaa0
mov rax, qword [r12]
mov qword [r15 + rsi*8], rax
add rsp, 0x28
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [r12]
mov qword [r15 + rdi*8], rax
add rsp, 0x28
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x180147b90
Capabilities:
Hash data using fnv

Disassembly:
cmp rdx, r8
je 0x180147dee
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, 0x40
mov r12, r8
mov r14, rdx
movabs r8, 0x666666666666666
lea r9, [0x1802a1b88]
xor r13d, r13d
movabs rdx, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
movzx eax, byte [r14]
mov r15d, eax
xor r15, rcx
imul r15, rdx
mov rcx, qword [0x1802a1bb0]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x1802a1b98]
mov rbx, qword [rdx + rcx*8 + 8]
mov rbp, qword [0x1802a1b88]
cmp rbx, rbp
jne 0x180147c1e
mov rbx, rbp
mov rsi, rbp
jmp 0x180147c49
mov rcx, qword [rdx + rcx*8]
cmp al, byte [rbx + 0x10]
je 0x180147dc2
nop dword [rax + rax]
cmp rbx, rcx
je 0x180147c43
mov rbx, qword [rbx + 8]
cmp al, byte [rbx + 0x10]
jne 0x180147c30
jmp 0x180147dc2
mov rbp, rbx
mov rsi, rbx
cmp qword [0x1802a1b90], r8
je 0x180147def
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r13
mov ecx, 0x28
call fcn.1801b2e90
mov rdi, rax
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [r14]
movups xmmword [rax + 0x10], xmm0
mov ecx, dword [r14 + 0x10]
mov dword [rax + 0x20], ecx
mov r8, qword [0x1802a1b90]
lea rcx, [r8 + 1]
xorps xmm1, xmm1
test rcx, rcx
js 0x180147c9b
cvtsi2ss xmm1, rcx
jmp 0x180147cb0
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [0x1802a1bb8]
xorps xmm0, xmm0
test rcx, rcx
js 0x180147cc6
cvtsi2ss xmm0, rcx
jmp 0x180147cdb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x1802a1b80]
comiss xmm0, xmm1
jae 0x180147d4b
call fcn.180147e00
mov rcx, qword [0x1802a1bb0]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x1802a1b98]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x1802a1b88]
cmp rax, rbx
je 0x180147d37
mov rdx, qword [rdx + rcx*8]
movzx ecx, byte [rdi + 0x10]
cmp cl, byte [rax + 0x10]
je 0x180147d34
mov rbx, rax
cmp rax, rdx
je 0x180147d93
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x180147d23
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rsi, rbx
mov rbp, qword [rsp + 0x20]
mov r8, qword [0x1802a1b90]
mov qword [rsp + 0x38], r13
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x1802a1b90], r8
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x1802a1b98]
mov rax, qword [0x1802a1bb0]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x1802a1b88]
jne 0x180147d9a
mov qword [rcx + rax*8], rdi
jmp 0x180147dac
mov qword [rsp + 0x20], rax
jmp 0x180147d3c
cmp r8, rsi
jne 0x180147da5
mov qword [rcx + rax*8], rdi
jmp 0x180147db1
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180147db1
mov qword [rcx + rax*8 + 8], rdi
movabs r8, 0x666666666666666
lea r9, [0x1802a1b88]
add r14, 0x14
cmp r14, r12
jne 0x180147bcf
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1801af514
int3
Function at 0x180147e00
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x1802a1b90]
xorps xmm1, xmm1
add rcx, 1
mov rdx, qword [0x1802a1bb8]
js 0x180147e1e
cvtsi2ss xmm1, rcx
jmp 0x180147e33
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x1802a1b80]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x180147e68
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x180147e68
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, 1
xor eax, 1
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1802350bc]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x180147e8d
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x180147e8d
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180147ebf
cmp rdx, 0x200
jae 0x180147ebc
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180147ebf
mov rdx, rcx
jmp 0x180147ed0
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x18014805d
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802a1b88]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1802a1b98]
lea rdx, [rdi + rdi]
call fcn.180065370
mov rax, qword [0x1802a1b88]
lea rdx, [rdi - 1]
mov qword [0x1802a1bb0], rdx
mov qword [0x1802a1bb8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180148052
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
nop word [rax + rax]
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x1802a1b98]
mov r8, qword [r11]
cmp r8, rbx
jne 0x180147fa1
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180148013
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x180147fda
mov r10, qword [rdx]
cmp r10, rax
je 0x180147fd4
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180148013
cmp r8, rdx
je 0x180147fef
nop
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x180148027
cmp r8, rdx
jne 0x180147fe0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x18014804d
mov rdx, qword [0x1802a1bb0]
jmp 0x180147f70
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180148013
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1801af514
int3
Function at 0x180147ed0
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x1802a1b90]
xorps xmm1, xmm1
add rcx, 1
mov rdx, qword [0x1802a1bb8]
js 0x180147e1e
cvtsi2ss xmm1, rcx
jmp 0x180147e33
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x1802a1b80]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x180147e68
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x180147e68
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, 1
xor eax, 1
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1802350bc]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x180147e8d
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x180147e8d
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180147ebf
cmp rdx, 0x200
jae 0x180147ebc
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180147ebf
mov rdx, rcx
jmp 0x180147ed0
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x18014805d
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802a1b88]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1802a1b98]
lea rdx, [rdi + rdi]
call fcn.180065370
mov rax, qword [0x1802a1b88]
lea rdx, [rdi - 1]
mov qword [0x1802a1bb0], rdx
mov qword [0x1802a1bb8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180148052
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
nop word [rax + rax]
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x1802a1b98]
mov r8, qword [r11]
cmp r8, rbx
jne 0x180147fa1
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180148013
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x180147fda
mov r10, qword [rdx]
cmp r10, rax
je 0x180147fd4
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180148013
cmp r8, rdx
je 0x180147fef
nop
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x180148027
cmp r8, rdx
jne 0x180147fe0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x18014804d
mov rdx, qword [0x1802a1bb0]
jmp 0x180147f70
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180148013
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1801af514
int3
Function at 0x180150170
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0x40
mov rsi, rdx
mov r15, r9
mov r14d, r8d
xor r12d, r12d
mov rcx, rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ebx, r12d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1801501c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x18015030e
movzx eax, ax
or eax, 0x80070000
add rsp, 0x40
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
mov qword [rsp + 0x78], rbp
mov ebp, r12d
mov qword [rsp + 0x80], rdi
mov edi, r12d
nop dword [rax]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], r12
mov r8d, 4
lea rdx, [rsp + 0x34]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180150217
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x180150217
movzx ebx, ax
or ebx, 0x80070000
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], r12
mov r8d, 4
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18015024e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x18015024e
movzx ebx, ax
or ebx, 0x80070000
cmp dword [rsp + 0x34], 0x46464952
mov rcx, rsi
je 0x18015028b
mov edx, dword [rsp + 0x70]
mov r9d, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1801502cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x180150301
movzx eax, ax
or eax, 0x80070000
jmp 0x180150301
mov ebp, dword [rsp + 0x70]
lea r9, [rsp + 0x30]
mov r8d, 4
mov dword [rsp + 0x70], 4
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1801502cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x1801502cb
movzx ebx, ax
or ebx, 0x80070000
add edi, 8
cmp dword [rsp + 0x34], r14d
je 0x1801502ee
add edi, dword [rsp + 0x70]
test ebp, ebp
je 0x1801502e7
test ebx, ebx
je 0x1801501e0
jmp 0x1801502ff
mov eax, 1
jmp 0x180150301
mov eax, dword [rsp + 0x70]
mov dword [r15], eax
mov rax, qword [rsp + 0x90]
mov dword [rax], edi
xor eax, eax
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
Function at 0x180150320
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov rdi, rdx
mov esi, r9d
mov edx, dword [rsp + 0x60]
mov rbp, r8
mov rcx, rdi
xor r9d, r9d
xor r8d, r8d
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x180150370
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1801503a3
movzx eax, ax
or eax, 0x80070000
jmp 0x1801503a3
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rbx
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1801503a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x18015039f
movzx eax, ax
or eax, 0x80070000
mov ebx, eax
mov eax, ebx
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret

Function at 0x180153fb0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, qword [rdi + 0x10]
mov ecx, 2
inc rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbp, rax
test rax, rax
jne 0x180153ffd
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, rdi
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
jmp fcn.180039100
cmp qword [rdi + 0x18], 0xf
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rsi
mov rsi, rdi
jbe 0x180154014
mov rsi, qword [rdi]
mov rbx, qword [rdi + 0x10]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalLock]
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1801f1620
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rbp
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rsi, qword [rsp + 0x40]
mov rcx, rdi
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
jmp fcn.180039100

Function at 0x180156fa0
Capabilities:
Enumerate process modules

Disassembly:
push rdi
sub rsp, 0x270
mov rax, qword [0x1802993c0]
xor rax, rsp
mov qword [rsp + 0x260], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180156ffa
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
jne 0x180156ffe
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x180157037
mov qword [rsp + 0x280], rbx
xor ebx, ebx
nop dword [rax + rax]
lea rdx, [rsp + 0x20]
mov rcx, rdi
inc ebx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x180157010
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rbx, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1801b2e60
add rsp, 0x270
pop rdi
ret
Function at 0x18015d610
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x140
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x1802993c0]
xor rax, rsp
mov qword [rsp + 0x110], rax
movaps xmm6, xmm3
mov rdi, rdx
mov rbx, rcx
movq xmm7, r8
movsd qword [rsp + 0x58], xmm7
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x80], rdx
xor eax, eax
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 0xf
mov byte [rcx], al
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x38], rax
movups xmmword [rcx + 0x2c], xmm0
movups xmmword [rcx + 0x3c], xmm0
mov word [rcx + 0x4c], ax
mov byte [rcx + 0x4e], al
add rcx, 0x50
call fcn.18010b490
nop
mov dword [rsp + 0x50], 1
cmp rbx, rdi
je 0x18015d6bd
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18015d6b1
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
call fcn.18003d420
movss xmm0, dword [rsp + 0x58]
movss dword [rbx + 0x20], xmm0
movss xmm1, dword [rsp + 0x5c]
movss dword [rbx + 0x24], xmm1
movss dword [rbx + 0x28], xmm6
mov rsi, qword [rsp + 0x180]
movups xmm0, xmmword [rsi]
movups xmmword [rbx + 0x2c], xmm0
movzx eax, byte [rsp + 0x188]
mov byte [rbx + 0x4c], al
test al, al
je 0x18015d73f
movaps xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm6
movq r8, xmm7
mov rdx, rbx
lea rcx, [rsp + 0x90]
call fcn.18015d400
mov dword [rsp + 0x50], 3
lea rcx, [rsp + 0xf0]
call fcn.18010b630
lea rcx, [rsp + 0x90]
call fcn.180039100
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18015d74c
mov r9, qword [rdi]
mov rcx, rsi
call fcn.180168660
mov r10d, eax
mov rax, qword [0x1802a0108]
mov rcx, qword [rax + 0x3c38]
mov rdx, qword [0x1802a00e8]
test r10d, 0xff000000
je 0x18015d7ee
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x18015d780
add r8, r9
cmp r9, r8
je 0x18015d7ee
test rcx, rcx
jne 0x18015d79f
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 8]
xorps xmm1, xmm1
ucomiss xmm6, xmm1
jne 0x18015d7b0
mov rax, qword [rdx + 0x38]
movss xmm6, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm1
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r9
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r10d
lea r9, [rsp + 0x58]
movaps xmm2, xmm6
call fcn.1801916a0
nop
mov rcx, rdi
call fcn.180039100
mov rax, rbx
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.1801b2e60
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x120]
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret
Function at 0x18015ec60
Capabilities:
Hash data using fnv

Disassembly:
movzx r8d, byte [rdx]
movabs rcx, 0xcbf29ce484222325
mov eax, r8d
xor rax, rcx
movabs rcx, 0x100000001b3
imul rax, rcx
mov rcx, qword [0x18029a4c0]
and rcx, rax
shl rcx, 4
add rcx, qword [0x18029a4a8]
mov rax, qword [rcx + 8]
cmp rax, qword [0x18029a498]
je 0x18015ecc6
mov rcx, qword [rcx]
cmp r8b, byte [rax + 0x10]
je 0x18015ecc8
nop dword [rax]
cmp rax, rcx
je 0x18015ecc6
mov rax, qword [rax + 8]
cmp r8b, byte [rax + 0x10]
jne 0x18015ecb0
test rax, rax
setne al
ret
xor eax, eax
test rax, rax
setne al
ret