joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003b5e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov r11, rcx
movzx r10d, dl
movabs rdi, 0x100000001b3
mov ebx, r8d
movabs rsi, 0xcbf29ce484222325
mov rax, rdx
xor r10, rsi
shr rax, 8
mov r8, qword [r11 + 8]
imul r10, rdi
movzx r9d, al
mov rax, rdx
xor r10, r9
shr rax, 0x10
imul r10, rdi
movzx ecx, al
mov rax, rdx
xor r10, rcx
shr rax, 0x18
imul r10, rdi
movzx ecx, al
mov rax, rdx
xor r10, rcx
shr rax, 0x20
imul r10, rdi
movzx ecx, al
mov rax, rdx
xor r10, rcx
shr rax, 0x28
imul r10, rdi
movzx ecx, al
mov rax, rdx
xor r10, rcx
shr rax, 0x30
imul r10, rdi
movzx ecx, al
mov rax, rdx
xor r10, rcx
shr rax, 0x38
mov rcx, qword [r11 + 0x30]
imul r10, rdi
xor r10, rax
imul r10, rdi
and rcx, r10
shl rcx, 4
add rcx, qword [r11 + 0x18]
mov rax, qword [rcx + 8]
cmp rax, r8
je 0x14003b75c
mov rcx, qword [rcx]
cmp rdx, qword [rax + 0x10]
je 0x14003b6c5
cmp rax, rcx
je 0x14003b75c
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x14003b6b2
test rax, rax
cmove rax, r8
cmp rax, r8
je 0x14003b75c
mov ecx, ebx
movzx r8d, bl
xor r8, rsi
shr ecx, 8
imul r8, rdi
movzx edx, cl
mov ecx, ebx
xor r8, rdx
shr ecx, 0x10
imul r8, rdi
movzx edx, cl
mov rcx, rbx
xor r8, rdx
shr rcx, 0x18
mov rdx, qword [rax + 0x20]
imul r8, rdi
xor r8, rcx
imul r8, rdi
and r8, qword [rax + 0x48]
shl r8, 4
add r8, qword [rax + 0x30]
mov rcx, qword [r8 + 8]
cmp rcx, rdx
je 0x14003b75c
mov rax, qword [r8]
cmp ebx, dword [rcx + 0x10]
je 0x14003b73e
nop dword [rax]
cmp rcx, rax
je 0x14003b75c
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14003b730
test rcx, rcx
cmove rcx, rdx
cmp rcx, rdx
je 0x14003b75c
mov al, 1
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov rbx, qword [rsp + 8]
xor al, al
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret

Function at 0x14003b930
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, byte [r8]
mov r10, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov r11, rdx
movzx eax, byte [r8 + 1]
mov rdx, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 4]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 5]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 6]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 7]
imul r9, rcx
xor r9, rax
imul r9, rcx
and rdx, r9
mov r9, qword [r10 + 8]
shl rdx, 4
add rdx, qword [r10 + 0x18]
mov rax, qword [rdx + 8]
cmp rax, r9
je 0x14003b9ee
mov rcx, qword [r8]
mov rdx, qword [rdx]
cmp rcx, qword [rax + 0x10]
je 0x14003b9f0
cmp rax, rdx
je 0x14003b9ee
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x14003b9d1
test rax, rax
cmove rax, r9
mov qword [r11], rax
mov rax, r11
ret
xor eax, eax
test rax, rax
cmove rax, r9
mov qword [r11], rax
mov rax, r11
ret
Function at 0x14003c5f0
Capabilities:
Hash data using fnv

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
xorps xmm1, xmm1
js 0x14003c60b
cvtsi2ss xmm1, rdx
jmp 0x14003c620
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [rcx]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x14003c651
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x14003c651
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, 1
xor eax, 1
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1400bf424]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x14003c676
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14003c676
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x14003c6a8
cmp r8, 0x200
jae 0x14003c6a5
lea r8, [r8*8]
cmp r8, rcx
jae 0x14003c6a8
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp fcn.14002d4a0
Function at 0x14003c790
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14003c94e
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14001bba0
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14003c917
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
mov r10d, dword [rcx + 0x10]
mov r11, qword [rsi + 0x30]
mov eax, r10d
mov rdx, qword [rdx]
shr eax, 8
movzx r8d, al
mov eax, r10d
shr eax, 0x10
movzx r9d, r10b
xor r9, rbp
imul r9, rdi
xor r9, r8
movzx r8d, al
imul r9, rdi
mov eax, r10d
xor r9, r8
shr rax, 0x18
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x14003c886
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14003c906
mov rax, qword [r11 + 8]
cmp r10d, dword [rax + 0x10]
jne 0x14003c8bf
mov r10, qword [rax]
cmp r10, rcx
je 0x14003c8b9
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14003c906
mov r8, rax
cmp r9, rax
je 0x14003c8e2
nop word [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r10d, dword [rax + 0x10]
je 0x14003c928
cmp r9, rax
jne 0x14003c8d0
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14003c821
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x14003c906
lea rcx, str.invalid_hash_bucket_count
call fcn.14004d948
int3
Function at 0x14003c960
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14003cb1e
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14001bba0
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14003cae7
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r9d, byte [rcx + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rdx, qword [rdx]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x12]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x13]
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r10, qword [r11]
cmp r10, rbx
jne 0x14003ca53
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14003cad6
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x14003ca90
mov r10, qword [rax]
cmp r10, rcx
je 0x14003ca8a
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14003cad6
mov r8, rax
cmp r10, rax
je 0x14003cab2
nop dword [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x14003caf8
cmp r10, rax
jne 0x14003caa0
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14003ca00
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x14003cad6
lea rcx, str.invalid_hash_bucket_count
call fcn.14004d948
int3
Function at 0x140047030
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x28]
mov rdi, rcx
mov rbx, qword [rax]
cmp rbx, rax
je 0x14004714a
nop dword [rax]
cmp dword [rbx + 0x18], r8d
jne 0x14004705c
cmp qword [rbx + 0x20], rdx
je 0x14004706f
mov rbx, qword [rbx]
cmp rbx, rax
jne 0x140047050
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, dword [rbx + 0x10]
mov rcx, qword [rcx]
call qword [sym.imp.USER32.dll_KillTimer]
movzx edx, byte [rbx + 0x10]
movabs rcx, 0x100000001b3
mov r11, qword [rdi + 0x38]
movabs rax, 0xcbf29ce484222325
mov r9, qword [rdi + 0x28]
xor rdx, rax
movzx eax, byte [rbx + 0x11]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rbx + 0x12]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rbx + 0x13]
imul rdx, rcx
xor rdx, rax
imul rdx, rcx
and rdx, qword [rdi + 0x50]
mov r10, rdx
shl r10, 4
add r10, r11
mov rcx, qword [r10 + 8]
cmp rcx, r9
je 0x14004714a
mov eax, dword [rbx + 0x10]
mov r8, qword [r10]
cmp eax, dword [rcx + 0x10]
je 0x1400470f3
cmp rcx, r8
je 0x14004714a
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x1400470e5
test rcx, rcx
je 0x14004714a
add rdx, rdx
mov rax, qword [r11 + rdx*8]
cmp qword [r10 + 8], rcx
jne 0x14004711e
cmp rax, rcx
jne 0x140047114
mov qword [r11 + rdx*8], r9
mov qword [r10 + 8], r9
jmp 0x14004712a
mov r9, qword [rcx + 8]
mov qword [r10 + 8], r9
jmp 0x14004712a
cmp rax, rcx
jne 0x14004712a
mov rax, qword [rcx]
mov qword [r11 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rdi + 0x30]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x30
call fcn.14004f3ac
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14004b650
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rbx, qword [rdx + 0x148]
mov rdi, rcx
movabs rbp, 0x100000001b3
movzx r8d, bl
movabs r14, 0xcbf29ce484222325
mov qword [rsp + 0x20], rbx
xor r8, r14
mov rax, rbx
imul r8, rbp
shr rax, 8
mov rsi, rdx
mov rdx, qword [rdi + 0x80]
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x10
imul r8, rbp
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x18
imul r8, rbp
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x20
imul r8, rbp
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x28
imul r8, rbp
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x30
imul r8, rbp
movzx ecx, al
mov rax, rbx
xor r8, rcx
shr rax, 0x38
mov rcx, qword [rdi + 0xa8]
imul r8, rbp
xor r8, rax
imul r8, rbp
and rcx, r8
shl rcx, 4
add rcx, qword [rdi + 0x90]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x14004b746
mov rcx, qword [rcx]
cmp rbx, qword [rax + 0x10]
je 0x14004b748
cmp rax, rcx
je 0x14004b746
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x14004b735
jmp 0x14004b748
xor eax, eax
test rax, rax
mov r8, rdx
cmove rax, rdx
cmp rax, rdx
je 0x14004b86a
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14004b771
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r8, qword [rdi + 0x80]
movzx eax, byte [rsp + 0x21]
mov r10, qword [rdi + 0x90]
movzx edx, bl
xor rdx, r14
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x22]
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x23]
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x24]
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x25]
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x26]
imul rdx, rbp
xor rdx, rax
movzx eax, byte [rsp + 0x27]
imul rdx, rbp
xor rdx, rax
imul rdx, rbp
and rdx, qword [rdi + 0xa8]
mov r9, rdx
add r9, r9
mov r11, qword [r10 + r9*8 + 8]
mov rcx, r11
cmp r11, r8
je 0x14004b86a
mov rax, qword [r10 + r9*8]
cmp rbx, qword [r11 + 0x10]
je 0x14004b80f
nop word [rax + rax]
cmp rcx, rax
je 0x14004b86a
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x14004b800
test rcx, rcx
je 0x14004b86a
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp r11, rcx
jne 0x14004b83b
cmp rax, rcx
jne 0x14004b830
mov qword [r10 + rdx*8], r8
mov qword [r10 + r9*8 + 8], r8
jmp 0x14004b847
mov r8, qword [rcx + 8]
mov qword [r10 + r9*8 + 8], r8
jmp 0x14004b847
cmp rax, rcx
jne 0x14004b847
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rdi + 0x88]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.14004f3ac
mov rax, qword [rdi + 0xd0]
mov rcx, qword [rdi + 0xc8]
cmp rcx, rax
je 0x14004b88e
nop dword [rax]
cmp qword [rcx], rsi
je 0x14004b88e
add rcx, 8
cmp rcx, rax
jne 0x14004b880
lea rdx, [rcx + 8]
mov r8, rax
sub r8, rdx
call fcn.1400517c0
add qword [rdi + 0xd0], 0xfffffffffffffff8
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x14004ba60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400cd038]
xor rax, rsp
mov qword [rsp + 0x78], rax
cmp qword [rcx + 0x88], 0
mov rbp, rdx
mov rsi, rcx
jbe 0x14004baed
mov rdi, qword [rcx + 0x80]
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 0x1c]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x3c], eax
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14004baed
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rbx + 0x10]
mov r9d, dword [rbp + 4]
lea rdx, [rsp + 0x30]
mov r8, qword [rbp + 0x10]
psrldq xmm0, 8
movq rcx, xmm0
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x14004bb33
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14004bac0
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x14004bb6e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x60], 0
lea rcx, [rsi + 8]
mov word [rsi + 1], 0x100
call fcn.14004e968
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14004f100
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsi + 0x60]
call fcn.14004bc40
lea rdx, str.unable_to_update_the_bitmap_data
lea rcx, [rsp + 0x20]
call fcn.14001aeb0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.14002d800
lea rdx, [0x1400cb3a0]
lea rcx, [rsp + 0x40]
call fcn.140051524
int3
mov ecx, 0x80004003
call fcn.14004d310
int3
Function at 0x14004cdf0
Capabilities:
Get keyboard layout

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rcx, rax
mov word [rbx + 0x22], ax
call qword [sym.imp.IMM32.dll_ImmIsIME]
cmp eax, 1
sete al
cmp byte [rbx + 0x20], 0
mov byte [rbx + 0x24], al
je 0x14004ce5a
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0x30], rdi
call qword [sym.imp.IMM32.dll_ImmGetContext]
mov rdi, rax
test rax, rax
je 0x14004ce55
xor r9d, r9d
mov rcx, rax
lea edx, [r9 + 0x15]
lea r8d, [r9 + 1]
call qword [sym.imp.IMM32.dll_ImmNotifyIME]
mov rcx, qword [rbx + 0x40]
mov rdx, rdi
call qword [sym.imp.IMM32.dll_ImmReleaseContext]
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
Function at 0x14004cf00
Capabilities:
Log keystrokes via input method manager

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
movsxd rdi, r8d
mov rcx, qword [rcx + 0x40]
mov rbp, rdx
xor sil, sil
call qword [sym.imp.IMM32.dll_ImmGetContext]
mov r14, rax
test rax, rax
je 0x14004d0c7
test rbp, rdi
jne 0x14004cf43
cmp edi, 0x800
jne 0x14004d0ba
mov r8d, edi
mov rdx, r14
mov rcx, rbx
call fcn.14004d0f0
test bpl, 0x10
je 0x14004d044
cmp edi, 0x800
je 0x14004d044
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x10]
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
mov r15d, eax
test eax, eax
je 0x14004d050
xor edi, edi
mov esi, edi
test eax, eax
je 0x14004cfdb
cmp r15, 0x1000
jb 0x14004cfbf
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x14004d0e2
call fcn.14004f120
test rax, rax
je 0x14004d0dc
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14004cfca
mov rcx, r15
call fcn.14004f120
mov rdi, rax
mov r8, r15
lea rsi, [rdi + r15]
xor edx, edx
mov rcx, rdi
call fcn.140051600
mov r9d, r15d
mov r8, rdi
mov edx, 0x10
mov rcx, r14
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
mov rax, rdi
cmp rdi, rsi
je 0x14004d00a
cmp byte [rax], 1
je 0x14004d006
inc rax
cmp rax, rsi
jne 0x14004cff7
jmp 0x14004d00a
mov byte [rbx + 0x21], 1
test rdi, rdi
je 0x14004d050
sub rsi, rdi
cmp rsi, 0x1000
jb 0x14004d037
mov rcx, qword [rdi - 8]
add rsi, 0x27
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x14004d0dc
mov rdi, rcx
mov rdx, rsi
mov rcx, rdi
call fcn.14004f3ac
jmp 0x14004d050
mov byte [rbx + 0x21], sil
cmp edi, 0x800
je 0x14004d0b1
movzx eax, word [rbx + 0x22]
mov ecx, 0x3ff
and ax, cx
cmp ax, 0x12
je 0x14004d0b1
cmp byte [rbx + 0x21], 0
je 0x14004d09b
mov rax, qword [rbx + 0x48]
sub rax, 0x23
je 0x14004d0b1
sub rax, 1
je 0x14004d0b1
sub rax, 1
je 0x14004d090
cmp rax, 2
jne 0x14004d0b7
mov eax, dword [rbx + 0x54]
cmp eax, dword [rbx + 0x10]
jge 0x14004d0b7
inc eax
jmp 0x14004d0b4
mov eax, dword [rbx + 0x54]
test eax, eax
jle 0x14004d0b7
dec eax
jmp 0x14004d0b4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80
mov rcx, r14
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
jmp 0x14004d0b4
mov eax, dword [rbx + 0x10]
mov dword [rbx + 0x54], eax
mov sil, 1
mov rcx, qword [rbx + 0x40]
mov rdx, r14
call qword [sym.imp.IMM32.dll_ImmReleaseContext]
mov rbx, qword [rsp + 0x58]
movzx eax, sil
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140055d18
int3
call fcn.140007c10
int3
Function at 0x14004d0f0
Capabilities:
Log keystrokes via input method manager

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1400cd038]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov eax, r8d
mov dword [rsp + 0x20], eax
mov r12, rdx
mov r15, rcx
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov rcx, r12
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
mov r13d, eax
test eax, eax
jle 0x14004d2b4
lea ecx, [rax + 1]
movsxd r14, ecx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor esi, esi
mov edi, esi
mov qword [rsp + 0x38], rsi
mov ebx, esi
test ecx, ecx
je 0x14004d1d7
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14004d2f5
add r14, r14
cmp r14, 0x1000
jb 0x14004d1a2
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x14004d2fb
call fcn.14004f120
test rax, rax
je 0x14004d2ef
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14004d1b2
test r14, r14
je 0x14004d1b2
mov rcx, r14
call fcn.14004f120
mov rbx, rax
mov rbp, rbx
mov qword [rsp + 0x28], rbx
lea rdi, [r14 + rbx]
mov qword [rsp + 0x38], rdi
mov r8, r14
xor edx, edx
mov rcx, rbx
call fcn.140051600
mov qword [rsp + 0x30], rdi
jmp 0x14004d1dc
mov rbp, qword [rsp + 0x28]
mov r9d, r13d
mov r8, rbp
mov edx, dword [rsp + 0x20]
mov rcx, r12
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x14004d210
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14001b410
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.14001ac00
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14004d278
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d272
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d301
call fcn.14004f3ac
nop
test rbx, rbx
je 0x14004d2ca
sub rdi, rbx
sar rdi, 1
add rdi, rdi
cmp rdi, 0x1000
jb 0x14004d2a7
add rdi, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x14004d2ef
mov rbx, rcx
mov rdx, rdi
mov rcx, rbx
call fcn.14004f3ac
jmp 0x14004d2ca
mov rax, r15
cmp qword [r15 + 0x18], 8
jb 0x14004d2c1
mov rax, qword [r15]
xor esi, esi
mov qword [r15 + 0x10], rsi
mov word [rax], si
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14004f100
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140055d18
int3
call fcn.140021750
int3
call fcn.140007c10
nop
call fcn.140055d18
nop
int3
Function at 0x14006bb0c
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 0x14006bb3e
call fcn.14005f650
mov dword [rax], 0x16
call fcn.140055cf8
jmp 0x14006bc5d
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x14006bc5d
mov eax, dword [rcx + 0x14]
shr eax, 0xc
test al, 1
jne 0x14006bc5d
mov eax, dword [rcx + 0x14]
shr eax, 1
test al, 1
je 0x14006bb6d
lock or dword [rcx + 0x14], 0x10
jmp 0x14006bc5d
lock or dword [rcx + 0x14], 1
mov eax, dword [rcx + 0x14]
test eax, 0x4c0
jne 0x14006bb81
call fcn.14006c2bc
mov rdi, qword [rsi + 8]
mov rcx, rsi
mov ebx, dword [rsi + 0x20]
mov qword [rsi], rdi
call fcn.1400693e4
mov r8d, ebx
mov rdx, rdi
mov ecx, eax
call fcn.14006c7d4
mov dword [rsi + 0x10], eax
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x14006bc4b
mov eax, dword [rsi + 0x14]
or edi, 0xffffffff
test al, 6
jne 0x14006bc16
mov rcx, rsi
call fcn.1400693e4
cmp eax, edi
je 0x14006bc01
mov rcx, rsi
call fcn.1400693e4
cmp eax, 0xfffffffe
je 0x14006bc01
mov rcx, rsi
call fcn.1400693e4
movsxd rbx, eax
lea r14, [0x1400d19a0]
mov rcx, rsi
sar rbx, 6
call fcn.1400693e4
and eax, 0x3f
lea rcx, [rax + rax*8]
mov rax, qword [r14 + rbx*8]
lea rdx, [rax + rcx*8]
jmp 0x14006bc08
lea rdx, [0x1400cd3f0]
mov al, byte [rdx + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x14006bc16
lock or dword [rsi + 0x14], 0x20
cmp dword [rsi + 0x20], 0x200
jne 0x14006bc3a
mov eax, dword [rsi + 0x14]
shr eax, 6
test al, 1
je 0x14006bc3a
mov eax, dword [rsi + 0x14]
shr eax, 8
test al, 1
jne 0x14006bc3a
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 0x14006bc60
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