joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800cff5c
Capabilities:
Check if file exists

Disassembly:
push rbx
sub rsp, 0x70
mov eax, dword [0x1800bcdc0]
mov rbx, rcx
movups xmm0, xmmword [0x1800bcd98]
mov dword [rsp + 0x68], eax
movzx eax, word [0x1800bcdc4]
movups xmm1, xmmword [0x1800bcda8]
mov word [rsp + 0x6c], ax
mov eax, 0x30
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1800bcdb8]
movsd qword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm1
jmp 0x1800cffc1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1800cffc8
movzx eax, word [rsp + 0x6a]
cmp ax, 0x39
jae 0x1800d0021
inc ax
mov word [rsp + 0x6a], ax
jmp 0x1800cffe3
cmp eax, 0xe7
jne 0x1800d0021
mov edx, 0x2710
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x1800d0021
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
and dword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
je 0x1800cffa8
mov byte [rbx], 1
mov al, 1
add rsp, 0x70
pop rbx
ret
xor al, al
jmp 0x1800d001b

Function at 0x1800d0028
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, r8
test r8, r8
jne 0x1800d003c
lea eax, [r8 + 1]
jmp 0x1800d007d
test rcx, rcx
je 0x1800d007b
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x1800d007b
test rdx, rdx
je 0x1800d007b
and dword [rsp + 0x50], 0
lea r9, [rsp + 0x50]
and qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, 1
cmp eax, ecx
jne 0x1800d0075
cmp dword [rsp + 0x50], ebx
je 0x1800d0077
xor cl, cl
mov al, cl
jmp 0x1800d007d
xor al, al
add rsp, 0x30
pop rbx
ret

Function at 0x1800d0084
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x30
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x1800d0117
test rcx, rcx
je 0x1800d0117
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x1800d0117
and qword [rax - 0x10], 0
xor r9d, r9d
and dword [rax + 0x10], 0
lea rax, [rax + 0x10]
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1800d0105
mov eax, dword [rsp + 0x48]
cmp rax, rdi
jb 0x1800d0117
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x58]
and dword [rsp + 0x58], 0
mov r8d, edi
and qword [rsp + 0x20], 0
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x1800d0105
jmp 0x1800d0119
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], 0
xor al, al
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x1800d0210
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
sub rsp, 0x50
xor esi, esi
mov rdi, r8
mov qword [r11 + 8], rsi
mov rbx, rcx
test rdx, rdx
je 0x1800d0267
cmp word [rdx], si
je 0x1800d0267
mov qword [r11 - 0x18], rsi
lea rax, [r11 + 8]
mov qword [r11 - 0x20], rax
xor r9d, r9d
mov qword [r11 - 0x28], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1800d02aa
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x88]
mov r9d, 1
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov rax, qword [rsp + 0x80]
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x60]
mov edi, eax
test rcx, rcx
je 0x1800d02a8
cmp rcx, rbx
je 0x1800d02a8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret

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

Disassembly:
push rbx
sub rsp, 0x20
inc dword [0x180407ac8]
mov r9d, 0x138
mov edx, dword [0x180407ad0]
cmp edx, r9d
jne 0x1800d07c3
lea r8, [0x180407ae0]
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8]
lea r8, [r8 + 8]
mov al, dl
and al, 1
neg al
movabs rax, 0xb5026f5aa96619e9
sbb rcx, rcx
shr rdx, 1
and rcx, rax
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x1800d077c
jmp 0x1800d07d7
cmp edx, 0x270
jb 0x1800d07dd
lea rcx, [0x180407ad0]
call fcn.1800d1a50
mov edx, dword [0x180407ad0]
mov eax, edx
lea rcx, [0x180407ad8]
inc edx
xorps xmm2, xmm2
mov rcx, qword [rcx + rax*8]
mov dword [0x180407ad0], edx
mov rax, rcx
shr rax, 0x1d
movabs rdx, 0x38eb3ffff6d3
and rax, qword [0x180408e58]
xor rcx, rax
mov rax, rcx
and rax, rdx
shl rax, 0x11
xor rcx, rax
mov rax, rcx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
mov rdx, rcx
shr rdx, 0x2b
xor rdx, rcx
shr rdx, 0xb
test rdx, rdx
js 0x1800d0847
cvtsi2sd xmm2, rdx
jmp 0x1800d085c
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm2, rax
addsd xmm2, xmm2
mulsd xmm2, qword [0x1800c41d0]
mov rbx, qword [0x180407ac0]
movsd xmm0, qword [0x180408e68]
subsd xmm0, qword [0x180408e60]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
addsd xmm2, qword [0x180408e60]
mulsd xmm2, xmm0
mulsd xmm2, qword [0x1800c45d0]
cvttsd2si rax, xmm2
sub rbx, rax
cmp qword [0x180407ab8], rbx
cmovl rbx, qword [0x180407ab8]
mov qword [0x180407ac0], rbx
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rbx, 0x2710
add rcx, rax
mov qword [0x1805cb930], rcx
add rsp, 0x20
pop rbx
ret
Function at 0x1800d1a50
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
lea r10, [rcx + 0x9c8]
mov r9, rcx
mov rax, qword [r10]
mov r11d, 0x9c
mov rbx, 0xffffffff80000000
movabs rdi, 0xb5026f5aa96619e9
lea r8, [r10 + 8]
mov rdx, qword [r8]
xor rdx, rax
and rdx, rbx
xor rdx, qword [r8]
mov al, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, rdi
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 - 0x9c0], rcx
lea r10, [r8]
sub r11, 1
jne 0x1800d1a7e
lea r10, [r9 + 0xea8]
mov r11d, 0x9b
mov rax, qword [r10]
lea r8, [r10 + 8]
mov rdx, qword [r8]
xor rdx, rax
and rdx, rbx
xor rdx, qword [r8]
mov al, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, rdi
xor rcx, qword [r10 - 0xea0]
xor rcx, rdx
mov qword [r10 - 0x9c0], rcx
lea r10, [r8]
sub r11, 1
jne 0x1800d1aca
mov rdx, qword [r9 + 8]
xor rdx, qword [r9 + 0x1380]
and rdx, rbx
mov rbx, qword [rsp + 8]
xor rdx, qword [r9 + 8]
mov al, dl
and al, 1
neg al
sbb rcx, rcx
and dword [r9], 0
and rcx, rdi
shr rdx, 1
xor rcx, qword [r9 + 0x4e0]
mov rdi, qword [rsp + 0x10]
xor rcx, rdx
mov qword [r9 + 0x9c0], rcx
ret
Function at 0x1800de3e4
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], rcx
lea rcx, [0x1805ca468]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1805ca468]
mov edx, dword [0x1805ca46c]
test ax, ax
je 0x1800de48e
movss xmm3, dword [0x180231b3c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x1800de48e
movss xmm4, dword [0x1802065f4]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm4
jbe 0x1800de48e
movss xmm0, dword [rsp + 0x20]
addss xmm0, xmm3
comiss xmm1, xmm0
jae 0x1800de48e
movss xmm0, dword [rsp + 0x24]
addss xmm0, xmm4
comiss xmm2, xmm0
jae 0x1800de48e
cmp byte [0x1805ca41b], 0
mov al, 1
mov byte [0x1805ca419], al
jne 0x1800de498
subss xmm1, xmm3
mov byte [0x1805ca41b], al
subss xmm2, xmm4
movss dword [0x1805ca470], xmm1
movss dword [0x1805ca474], xmm2
jmp 0x1800de494
mov al, byte [0x1805ca419]
test al, al
je 0x1800de4c6
movd xmm0, ecx
movd xmm1, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x1805ca470]
subss xmm1, dword [0x1805ca474]
movss dword [0x180231b3c], xmm0
movss dword [0x1802065f4], xmm1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800de4e2
mov byte [0x1805ca419], al
mov byte [0x1805ca41b], al
add rsp, 0x38
ret

Function at 0x1800de4e8
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], rcx
lea rcx, [0x1805ca808]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1805ca808]
mov edx, dword [0x1805ca80c]
test ax, ax
je 0x1800de592
movss xmm3, dword [0x1803b5118]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x1800de592
movss xmm4, dword [0x1803b5114]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm4
jbe 0x1800de592
movss xmm0, dword [rsp + 0x20]
addss xmm0, xmm3
comiss xmm1, xmm0
jae 0x1800de592
movss xmm0, dword [rsp + 0x24]
addss xmm0, xmm4
comiss xmm2, xmm0
jae 0x1800de592
cmp byte [0x1805ca804], 0
mov al, 1
mov byte [0x1805ca805], al
jne 0x1800de59c
subss xmm1, xmm3
mov byte [0x1805ca804], al
subss xmm2, xmm4
movss dword [0x1805ca814], xmm1
movss dword [0x1805ca810], xmm2
jmp 0x1800de598
mov al, byte [0x1805ca805]
test al, al
je 0x1800de5ca
movd xmm0, ecx
movd xmm1, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x1805ca814]
subss xmm1, dword [0x1805ca810]
movss dword [0x1803b5118], xmm0
movss dword [0x1803b5114], xmm1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800de5e6
mov byte [0x1805ca805], al
mov byte [0x1805ca804], al
add rsp, 0x38
ret
Function at 0x1800de5ec
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], rcx
lea rcx, [0x1805ca490]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1805ca490]
mov edx, dword [0x1805ca494]
test ax, ax
je 0x1800de696
movss xmm3, dword [0x18027b970]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x1800de696
movss xmm4, dword [0x18027b96c]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm4
jbe 0x1800de696
movss xmm0, dword [rsp + 0x20]
addss xmm0, xmm3
comiss xmm1, xmm0
jae 0x1800de696
movss xmm0, dword [rsp + 0x24]
addss xmm0, xmm4
comiss xmm2, xmm0
jae 0x1800de696
cmp byte [0x1805ca41d], 0
mov al, 1
mov byte [0x1805ca41c], al
jne 0x1800de6a0
subss xmm1, xmm3
mov byte [0x1805ca41d], al
subss xmm2, xmm4
movss dword [0x1805ca498], xmm1
movss dword [0x1805ca49c], xmm2
jmp 0x1800de69c
mov al, byte [0x1805ca41c]
test al, al
je 0x1800de6ce
movd xmm0, ecx
movd xmm1, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x1805ca498]
subss xmm1, dword [0x1805ca49c]
movss dword [0x18027b970], xmm0
movss dword [0x18027b96c], xmm1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800de6ea
mov byte [0x1805ca41c], al
mov byte [0x1805ca41d], al
add rsp, 0x38
ret

Function at 0x1800de6f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], rcx
lea rcx, [0x1805ca4e0]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1805ca4e0]
mov edx, dword [0x1805ca4e4]
test ax, ax
je 0x1800de79a
movss xmm3, dword [0x1802d2f78]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x1800de79a
movss xmm4, dword [0x1802d2f74]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm4
jbe 0x1800de79a
movss xmm0, dword [rsp + 0x20]
addss xmm0, xmm3
comiss xmm1, xmm0
jae 0x1800de79a
movss xmm0, dword [rsp + 0x24]
addss xmm0, xmm4
comiss xmm2, xmm0
jae 0x1800de79a
cmp byte [0x1805ca41f], 0
mov al, 1
mov byte [0x1805ca444], al
jne 0x1800de7a4
subss xmm1, xmm3
mov byte [0x1805ca41f], al
subss xmm2, xmm4
movss dword [0x1805ca4ec], xmm1
movss dword [0x1805ca4e8], xmm2
jmp 0x1800de7a0
mov al, byte [0x1805ca444]
test al, al
je 0x1800de7d2
movd xmm0, ecx
movd xmm1, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x1805ca4ec]
subss xmm1, dword [0x1805ca4e8]
movss dword [0x1802d2f78], xmm0
movss dword [0x1802d2f74], xmm1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800de7ee
mov byte [0x1805ca444], al
mov byte [0x1805ca41f], al
add rsp, 0x38
ret
Function at 0x1800e1d4c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1800e1dc3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x1800e1dc3
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x1800e1db0
cmp rbx, rcx
jae 0x1800e1dc3
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x1800e1d9b
cmp rbx, rcx
jae 0x1800e1dc3
movzx eax, word [rbx]
neg ax
sbb rax, rax
and rax, rbx
jmp 0x1800e1dc5
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1800fb5a0
Capabilities:
Delete file

Disassembly:
mov rax, rsp
mov qword [rax + 8], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movdqa xmm1, xmmword [0x1800c4630]
xor edi, edi
mov r8, qword [0x180408fe0]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
or rcx, 0xffffffffffffffff
mov byte [rbp - 9], dil
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movdqu xmmword [rbp + 7], xmm1
inc rcx
cmp byte [rdx + rcx], dil
jne 0x1800fb5e0
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1800fb779
cmp qword [0x180408fe8], 0xf
lea r9, [0x180408fd0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x17]
cmova r9, qword [0x180408fd0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
call fcn.1800c7a6c
mov rcx, qword [rbp + 0x27]
mov edx, 4
mov rax, qword [rbp + 0x2f]
sub rax, rcx
cmp rax, rdx
jb 0x1800fb66b
cmp qword [rbp + 0x2f], 0xf
lea rax, [rcx + 4]
mov qword [rbp + 0x27], rax
lea rax, [rbp + 0x17]
cmova rax, qword [rbp + 0x17]
mov dword [rax + rcx], 0x6766632e
mov byte [rax + rcx + 4], dil
lea rax, [rbp + 0x17]
jmp 0x1800fb680
lea r9, [0x1800bf644]
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x17]
call fcn.1800c7550
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov byte [rax], dil
mov edi, 0x1000
mov qword [rax + 0x18], 0xf
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x1800fb6ce
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x1800fb6c9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800fb704
call fcn.180143aa4
mov rdx, qword [rbp + 0x2f]
movups xmmword [rbp - 9], xmm6
movups xmmword [rbp + 7], xmm7
cmp rdx, 0xf
jbe 0x1800fb710
mov rcx, qword [rbp + 0x17]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x1800fb70b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800fb70b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180143aa4
cmp qword [rbp + 0xf], 0xf
lea rcx, [rbp - 9]
cmova rcx, qword [rbp - 9]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x1800fb75e
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x1800fb759
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800fb759
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180143aa4
lea r11, [rsp + 0xa0]
mov rdi, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret
call fcn.1800c70e4
int3
Function at 0x18010b25c
Capabilities:
Enumerate gui resources

Disassembly:
push rbp
push rbx
push rsi
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
lea rcx, [0x1800be030]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [0x1800be218]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call fcn.1800d9490
call fcn.1800d9a98
call fcn.1800da93c
jmp 0x18010b2ab
lea rdx, [0x1805ca640]
lea rcx, [0x18010b42c]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rbx, qword [0x1805ca640]
test rbx, rbx
je 0x18010b297
and qword [rbp + 0x6f], 0
lea rcx, [rbp - 9]
and qword [rbp + 0x7f], 0
xor edx, edx
and qword [rbp + 0x77], 0
mov dword [rbp + 0x67], 0xb000
lea r8d, [rdx + 0x48]
call sub.VCRUNTIME140.dll_memset
and dword [rbp + 0xb], 0
lea rax, [rbp + 0x77]
and dword [rbp + 0xf], 0
mov esi, 1
and dword [rbp + 0x33], 0
xor r9d, r9d
mov qword [rsp + 0x58], rax
xor r8d, r8d
and qword [rsp + 0x50], 0
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x48], rax
mov edx, esi
lea rax, [rbp + 0x6f]
mov dword [rbp + 0x1f], esi
mov qword [rsp + 0x40], rax
xor ecx, ecx
lea rax, [rbp - 9]
mov dword [rbp + 7], 0x1c
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x67]
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x1b], 0x20
mov qword [rbp + 0x27], rbx
mov dword [rbp + 0x13], esi
mov dword [rbp + 0x2f], esi
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
jns 0x18010b37a
lea r9d, [rsi + 0xf]
xor ecx, ecx
lea r8, [0x1800c2798]
lea rdx, [0x1800c27b0]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x18010b403
mov rax, qword [rbp + 0x6f]
mov rcx, qword [rbp + 0x77]
mov rbx, qword [rax]
mov rax, qword [rbx + 0x40]
mov qword [0x1805ca4a0], rax
mov rax, qword [rbx + 0x68]
mov qword [0x1805ca4c8], rax
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x1805ca640]
lea r8, [0x1801096bc]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [rbx + 0x40]
lea r8, [0x180109d1c]
lea rdx, [0x1805ca4a0]
mov qword [0x1805ca860], rax
call fcn.1800f7b3c
mov rcx, qword [rbx + 0x68]
lea r8, [0x180109c94]
lea rdx, [0x1805ca4c8]
call fcn.1800f7b3c
cmp byte [0x1805ca4de], 0
jne 0x18010b41e
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [0x1805ca4de], sil
add rsp, 0xb0
pop rsi
pop rbx
pop rbp
ret

Function at 0x18010b614
Capabilities:
Create thread

Disassembly:
sub rsp, 0x38
cmp edx, 1
je 0x18010b621
xor al, al
jmp 0x18010b650
and qword [rsp + 0x28], 0
lea r8, [0x18010b47c]
and dword [rsp + 0x20], 0
mov r9, rcx
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x18010b64e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
add rsp, 0x38
ret
Function at 0x18010eebc
Capabilities:
Encode data using xor
Hash data using fnv

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, 0x20
mov r14, r8
mov rsi, rdx
movabs rbp, 0xcbf29ce484222325
xor ecx, ecx
movzx eax, byte [r8 + rcx]
movabs rdx, 0x100000001b3
xor rbp, rax
inc rcx
imul rbp, rdx
cmp rcx, 4
jb 0x18010eee7
mov rcx, qword [0x1806010c0]
mov rdx, qword [0x1806010a8]
and rcx, rbp
mov rdi, qword [0x180601098]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rdi
je 0x18010ef6a
mov r8, qword [rdx + rcx*8]
mov ecx, dword [r14]
jmp 0x18010ef3d
cmp rax, r8
je 0x18010ef67
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18010ef34
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x1806010a0], rax
jne 0x18010ef8b
lea rcx, [0x1800bcd10]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov ecx, 0x18
call fcn.180143a68
mov ecx, dword [r14]
mov rbx, rax
xorps xmm1, xmm1
mov dword [rax + 0x10], ecx
mov rdx, qword [0x1806010a0]
lea rcx, [rdx + 1]
test rcx, rcx
js 0x18010efb8
cvtsi2ss xmm1, rcx
jmp 0x18010efcd
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [0x1806010c8]
xorps xmm0, xmm0
test rcx, rcx
js 0x18010efe3
cvtsi2ss xmm0, rcx
jmp 0x18010eff8
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x180601090]
comiss xmm0, xmm1
jae 0x18010f054
call fcn.18010f108
mov rcx, qword [0x1806010c0]
mov rdx, qword [0x1806010a8]
and rcx, rbp
mov rdi, qword [0x180601098]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rdi
je 0x18010f04d
mov r8, qword [rdx + rcx*8]
mov ecx, dword [rbx + 0x10]
jmp 0x18010f045
cmp rax, r8
je 0x18010f097
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18010f03c
mov rdi, qword [rax]
mov rdx, qword [0x1806010a0]
mov r8, qword [rdi + 8]
inc rdx
mov qword [0x1806010a0], rdx
mov qword [rbx], rdi
mov qword [rbx + 8], r8
mov qword [r8], rbx
mov qword [rdi + 8], rbx
mov rax, qword [0x1806010c0]
mov rcx, qword [0x1806010a8]
and rax, rbp
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x180601098]
jne 0x18010f09c
mov qword [rcx + rax*8], rbx
jmp 0x18010f0ae
mov rdi, rax
jmp 0x18010f04d
cmp rdx, rdi
jne 0x18010f0a7
mov qword [rcx + rax*8], rbx
jmp 0x18010f0b3
cmp qword [rcx + rax*8 + 8], r8
jne 0x18010f0b3
mov qword [rcx + rax*8 + 8], rbx
mov qword [rsi], rbx
mov byte [rsi + 8], 1
jmp 0x18010ef49
Function at 0x18010f108
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rcx, qword [0x1806010a0]
mov esi, 1
add rcx, rsi
xorps xmm1, xmm1
js 0x18010f132
cvtsi2ss xmm1, rcx
jmp 0x18010f147
mov rax, rcx
and rcx, rsi
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x180601090]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x18010f17a
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x18010f17a
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, esi
xor eax, esi
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1800c457c]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x18010f19f
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x18010f19f
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x1806010c8]
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18010f1d4
cmp rdx, 0x200
jae 0x18010f1d1
shl rdx, 3
cmp rdx, rcx
jae 0x18010f1d4
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rsi
shl rax, cl
cmp rdx, rax
jbe 0x18010f1fb
lea rcx, [0x1800bcd30]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rbx, qword [0x180601098]
lea rax, [rdx - 1]
or rax, rsi
mov rdi, rsi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1806010a8]
lea rdx, [rdi + rdi]
call fcn.1800cf9c0
mov rax, qword [0x180601098]
lea r9, [rdi - 1]
mov qword [0x1806010c0], r9
mov qword [0x1806010c8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18010f346
mov rcx, qword [rcx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx edx, byte [rax + r8 + 0x10]
movabs r10, 0x100000001b3
xor r11, rdx
add r8, rsi
imul r11, r10
cmp r8, 4
jb 0x18010f260
mov rdi, qword [0x1806010a8]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18010f29e
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18010f30c
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18010f2e1
mov r10, qword [r10]
cmp r10, rax
je 0x18010f297
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 0x18010f297
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18010f320
cmp qword [rdi + r11*8], r10
jne 0x18010f2d7
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 [rdi + r11*8], rax
mov rax, rcx
cmp rcx, rbx
je 0x18010f346
mov r9, qword [0x1806010c0]
jmp 0x18010f250
mov r10, qword [r10]
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 0x18010f30c
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret