joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180001890
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x40
mov rdi, qword [0x18007f680]
xor r14d, r14d
mov eax, 0x5a4d
mov esi, r14d
cmp word [rdi], ax
je 0x1800018c6
mov eax, r14d
jmp 0x1800018d7
movsxd rax, dword [rdi + 0x3c]
add rax, rdi
cmp dword [rax], 0x4550
cmovne rax, r14
mov ebp, dword [rax + 0x50]
lea rcx, [rsp + 0x20]
call fcn.180001790
mov r10, qword [rsp + 0x28]
mov r9d, r14d
mov r11, qword [rsp + 0x20]
sub r10, r11
sar r10, 2
sub rbp, r10
je 0x18000193f
mov rbx, r14
mov eax, r14d
test r10, r10
je 0x180001930
mov rcx, r14
nop dword [rax + rax]
mov r8d, dword [r11 + rcx*4]
lea ecx, [rax + r9]
movzx ecx, byte [rcx + rdi]
cmp ecx, r8d
je 0x180001927
cmp r8d, 0xffffffff
jne 0x180001934
inc eax
mov ecx, eax
cmp rcx, r10
jb 0x180001910
lea rsi, [rbx + rdi]
inc r9d
mov ebx, r9d
cmp rbx, rbp
jb 0x180001900
inc dword [0x18007db54]
test r11, r11
je 0x18000197f
mov rdx, qword [rsp + 0x30]
mov rax, r11
sub rdx, r11
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x180001977
mov r11, qword [r11 - 8]
add rdx, 0x27
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000199d
mov rcx, r11
call fcn.18003b9f4
mov rbx, qword [rsp + 0x50]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
call fcn.180046fdc
int3
Function at 0x180002f50
Capabilities:
Access peb ldr_data
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
sub rsp, 0x60
mov rbx, qword [0x18007f678]
mov rbp, rcx
test rbx, rbx
je 0x1800030c2
mov rax, qword [rbx]
test rax, rax
je 0x1800030c2
mov rsi, qword [rax + 0x650]
test rsi, rsi
je 0x1800030c2
mov rdx, qword [0x180081d30]
mov qword [r11 - 0x48], 0
mov dword [rsp + 0x38], 0
test rdx, rdx
jne 0x180003087
mov rax, qword gs:[0x60]
mov qword [r11 + 8], rdi
mov dword [r11 + 0x18], 0x7865742e
mov byte [r11 + 0x1c], 0x74
mov rdi, qword [rax + 0x10]
movsxd rcx, dword [rdi + 0x3c]
movzx eax, word [rcx + rdi + 0x14]
lea r8, [rcx + rdi]
add rax, 0x18
add r8, rax
movzx eax, word [rcx + rdi + 6]
lea rcx, [rax + rax*4]
lea r11, [r8 + rcx*8]
cmp r8, r11
je 0x180003033
lea r9, [rsp + 0x90]
sub r9, r8
nop dword [rax + rax]
lea r10, [r8 + 5]
mov rdx, r8
cmp r8, r10
je 0x180003033
nop dword [rax]
movsx ecx, byte [r9 + rdx]
movzx eax, byte [rdx]
cmp eax, ecx
jne 0x180003026
inc rdx
cmp rdx, r10
jne 0x180003010
jmp 0x180003033
add r8, 0x28
sub r9, 0x28
cmp r8, r11
jne 0x180003000
mov eax, dword [r8 + 8]
mov ecx, dword [r8 + 0xc]
add rcx, rdi
mov word [rsp + 0x88], 0x26ff
mov rdi, qword [rsp + 0x80]
lea rdx, [rax + rcx]
cmp rax, 2
jb 0x180003080
movzx eax, word [rsp + 0x88]
lea r8, [rdx - 2]
cmp ax, word [rcx]
je 0x18000307d
nop dword [rax + rax]
cmp rcx, r8
je 0x180003080
inc rcx
cmp ax, word [rcx]
jne 0x180003070
mov rdx, rcx
mov qword [0x180081d30], rdx
xor eax, eax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov r9b, 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rsi
mov rdx, rbp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.18003b350
add rsp, 0x60
pop rsi
pop rbp
pop rbx
ret
xor al, al
add rsp, 0x60
pop rsi
pop rbp
pop rbx
ret

Function at 0x180009680
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub rsp, 0x38
lea rax, [0x180081e48]
mov qword [rsp + 0x28], rax
lea rax, [0x180081e44]
mov qword [rsp + 0x20], rax
call fcn.18000f8c0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x180081df0]
sub eax, ecx
cmp eax, 1
jb 0x1800096e6
cmp dword [0x180081dd8], ecx
je 0x1800096da
movss xmm0, dword [0x180081e40]
addss xmm0, dword [0x1800708e4]
mov dword [0x180081dd8], ecx
movss dword [0x180081e40], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x180081df0], eax
movss xmm0, dword [0x180081e40]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x180009706
addss xmm0, dword [0x1800707b8]
movss dword [0x180081e40], xmm0
movss xmm2, dword [0x180081e48]
movss xmm1, dword [0x180081e44]
call fcn.18000f980
add rsp, 0x38
ret
Function at 0x180009790
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0x20
movzx eax, byte [0x180081d18]
mov rdi, rcx
test al, al
jne 0x1800097c8
movsxd rax, dword [rcx]
lea rcx, [0x18006b790]
mov rcx, qword [rcx + rax*8]
call fcn.180031de0
test al, al
je 0x180009820
mov byte [0x180081d18], 1
add rsp, 0x20
pop rdi
ret
cmp al, 1
jne 0x180009820
mov qword [rsp + 0x30], rbx
lea rcx, [0x18006b374]
mov qword [rsp + 0x38], rsi
call fcn.180031de0
lea rbx, [0x18006b460]
lea rsi, [0x18006b6f8]
mov ecx, dword [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000980d
mov eax, dword [rbx]
cmp eax, 1
je 0x18000980d
mov dword [rdi], eax
mov byte [0x180081d18], 0
add rbx, 4
cmp rbx, rsi
jne 0x1800097f0
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x18000f150
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x18000f1ad
lea rbx, [0x18006bde0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x18000f194
cmp r10, 2
jb 0x18000f194
cmp byte [r9], r8b
jne 0x18000f194
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x18000f170
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18000f1ef
lea rbx, [0x18006bde0]
cmp r8b, 0x23
jne 0x18000f1d3
cmp byte [r9], r8b
jne 0x18000f1d3
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x18000f1c0
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x18000f3d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
test r8, r8
je 0x18000f3e9
mov qword [r8], 0
lea rdx, [0x180070068]
call fcn.18000f200
mov rbx, rax
test rax, rax
jne 0x18000f408
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
xor edx, edx
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rsi
lea r8d, [rdx + 2]
call fcn.180042a50
test eax, eax
jne 0x18000f4d2
mov rcx, rbx
call fcn.1800420dc
movsxd rsi, eax
cmp esi, 0xffffffff
je 0x18000f4d2
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.180042a50
test eax, eax
jne 0x18000f4d2
mov rax, qword [0x18007f6f0]
mov rbp, rsi
test rax, rax
je 0x18000f466
inc dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
mov rcx, rbp
call fcn.18000eaa0
mov rsi, rax
test rax, rax
je 0x18000f4d2
mov r9, rbx
mov r8, rbp
mov edx, 1
mov rcx, rax
call fcn.180046b70
mov rcx, rbx
cmp rax, rbp
je 0x18000f4c0
call fcn.180042748
mov rax, qword [0x18007f6f0]
test rax, rax
je 0x18000f4af
dec dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
mov rcx, rsi
call fcn.18000eab0
jmp 0x18000f4da
call fcn.180042748
test rdi, rdi
je 0x18000f4cd
mov qword [rdi], rbp
mov rax, rsi
jmp 0x18000f4dc
mov rcx, rbx
call fcn.180042748
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x180013aa0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x50
xor eax, eax
lea r8, [0x18006ffa5]
mov dword [rsp + 0x2c], eax
lea r11, [0x18006bde0]
mov qword [rsp + 0x48], rax
mov r10d, 0xffffffff
lea rax, str.Window
mov rbx, rcx
mov qword [rsp + 0x20], rax
mov edx, r10d
mov r9b, 0x57
nop
cmp r9b, 0x23
jne 0x180013af3
cmp byte [r8], r9b
jne 0x180013af3
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180013ae0
mov ecx, dword [rbx + 0x2f14]
lea rax, [0x18001fa00]
mov edi, dword [rbx + 0x2f10]
not edx
mov qword [rsp + 0x30], rax
lea rax, [0x18001fad0]
mov qword [rsp + 0x38], rax
lea rax, [0x18001fba0]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x28], edx
cmp edi, ecx
jne 0x180013c01
inc edi
test ecx, ecx
je 0x180013b5f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180013b64
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x180013c01
mov rax, qword [0x18007f6f0]
mov qword [rsp + 0x60], rsi
test rax, rax
je 0x180013b88
inc dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 4
call fcn.18000eaa0
mov rdx, qword [rbx + 0x2f18]
mov rsi, rax
test rdx, rdx
je 0x180013bef
movsxd rcx, dword [rbx + 0x2f10]
lea r8, [rcx + rcx*2]
mov rcx, rax
shl r8, 4
call fcn.180041210
mov rcx, qword [rbx + 0x2f18]
test rcx, rcx
je 0x180013be3
mov rax, qword [0x18007f6f0]
test rax, rax
je 0x180013be3
dec dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
call fcn.18000eab0
mov qword [rbx + 0x2f18], rsi
mov rsi, qword [rsp + 0x60]
mov dword [rbx + 0x2f14], edi
movsxd rax, dword [rbx + 0x2f10]
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x2f18]
add rcx, rcx
movups xmmword [rax + rcx*8], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8 + 0x20], xmm0
inc dword [rbx + 0x2f10]
mov byte [rbx], 1
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret

Function at 0x180014eb0
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x180014f00
lea r11, [0x18006bde0]
nop dword [rax]
cmp r9b, 0x23
jne 0x180014ee3
cmp byte [r8], r9b
jne 0x180014ee3
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180014ed0
mov r11, qword [0x18007f6f0]
not eax
movsxd rcx, dword [r11 + 0x1a10]
mov r9, qword [r11 + 0x1a18]
mov r10, rcx
mov rdx, rcx
mov r8, r9
test ecx, ecx
je 0x180014f68
nop dword [rax]
nop dword [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x180014f59
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x180014f5c
mov rdx, r8
test rdx, rdx
jne 0x180014f30
mov r8, qword [r11 + 0x1a18]
shl r10, 4
add r10, r8
cmp r9, r10
je 0x180014f7e
cmp dword [r9], eax
jne 0x180014f7e
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret
Function at 0x18001a640
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x20
mov rax, qword [0x18007f6f0]
lea rdx, [0x18006bde0]
mov r8, rcx
mov rsi, qword [rax + 0x1a28]
lea rbx, [rsi + 0xc0]
movsxd r9, dword [rbx]
mov rax, qword [rbx + 8]
mov edi, dword [rax + r9*4 - 4]
not edi
movzx eax, r8b
mov r8d, dword [rsi + 0xc4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 9]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xa]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xb]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xc]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xd]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xe]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xf]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [rdx + rcx*4]
not edi
cmp r9d, r8d
jne 0x18001a74b
lea ecx, [r9 + 1]
test r8d, r8d
je 0x18001a734
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001a739
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180020bd0
mov r9d, dword [rbx]
mov rax, qword [rsi + 0xc8]
mov rsi, qword [rsp + 0x40]
movsxd rcx, r9d
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x18001a770
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x20
mov rax, qword [0x18007f6f0]
lea rdx, [0x18006bde0]
mov r8d, ecx
mov rsi, qword [rax + 0x1a28]
lea rbx, [rsi + 0xc0]
movsxd r9, dword [rbx]
mov rax, qword [rbx + 8]
mov edi, dword [rax + r9*4 - 4]
not edi
movzx eax, r8b
mov r8d, dword [rsi + 0xc4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x31]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x32]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x33]
xor edi, dword [rdx + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [rdx + rcx*4]
not edi
cmp r9d, r8d
jne 0x18001a832
lea ecx, [r9 + 1]
test r8d, r8d
je 0x18001a81b
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001a820
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180020bd0
mov r9d, dword [rbx]
mov rax, qword [rsi + 0xc8]
mov rsi, qword [rsp + 0x40]
movsxd rcx, r9d
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18001f420
Capabilities:
Hash data with crc32

Disassembly:
push r14
sub rsp, 0x50
xor eax, eax
mov qword [rsp + 0x68], rbx
mov rbx, qword [0x18007f6f0]
mov qword [rsp + 0x48], rsi
mov rsi, rcx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 0x2f24]
mov ecx, dword [rbx + 0x2f20]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x2c], eax
mov byte [rsp + 0x34], al
cmp ecx, r8d
jne 0x18001f522
lea edi, [rcx + 1]
test r8d, r8d
je 0x18001f485
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001f48a
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, r8d
jle 0x18001f522
mov rdx, qword [0x18007f6e8]
inc dword [rbx + 0x3c0]
movsxd rax, edi
mov qword [rsp + 0x70], rbp
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.18000eaa0
mov rdx, qword [rbx + 0x2f28]
mov rbp, rax
test rdx, rdx
je 0x18001f50a
movsxd rcx, dword [rbx + 0x2f20]
lea r8, [rcx + rcx*2]
mov rcx, rax
shl r8, 3
call fcn.180041210
mov rcx, qword [rbx + 0x2f28]
test rcx, rcx
je 0x18001f4fe
mov rax, qword [0x18007f6f0]
test rax, rax
je 0x18001f4fe
dec dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
call fcn.18000eab0
mov ecx, dword [rbx + 0x2f20]
mov qword [rbx + 0x2f28], rbp
mov rbp, qword [rsp + 0x70]
mov dword [rbx + 0x2f24], edi
movups xmm0, xmmword [rsp + 0x20]
lea rdx, [0x180070064]
movsxd rax, ecx
movsd xmm1, qword [rsp + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x2f28]
movups xmmword [rax + rcx*8], xmm0
movsd qword [rax + rcx*8 + 0x10], xmm1
movsxd rcx, dword [rbx + 0x2f20]
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x2f20], eax
mov rax, qword [rbx + 0x2f28]
lea r14, [rax + rcx*8]
mov rcx, rsi
call fcn.18003d3b4
test rax, rax
mov rbx, 0xffffffffffffffff
cmovne rsi, rax
cmp byte [rsi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x18001f581
mov rax, qword [0x18007f6f0]
test rax, rax
je 0x18001f59e
inc dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
lea rcx, [rbx + 1]
call fcn.18000eaa0
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
mov rdi, rax
call fcn.180041210
mov rbx, qword [rsp + 0x68]
lea r8, [rsi + 1]
mov qword [r14], rdi
mov r10d, 0xffffffff
movzx r9d, byte [rsi]
mov ecx, r10d
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
test r9b, r9b
je 0x18001f620
lea r11, [0x18006bde0]
nop
cmp r9b, 0x23
jne 0x18001f603
cmp byte [r8], r9b
jne 0x18001f603
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x18001f5f0
not ecx
mov rax, r14
mov dword [r14 + 8], ecx
add rsp, 0x50
pop r14
ret
Function at 0x18001f630
Capabilities:
Hash data with crc32

Disassembly:
push r13
push r14
sub rsp, 0x38
mov r13, qword [0x18007f6f0]
mov qword [rsp + 0x50], rbx
mov rbx, rdx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x30], rdi
mov rdi, rcx
mov qword [rsp + 0x28], r12
test rdx, rdx
jne 0x18001f679
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rcx + rbx], 0
jne 0x18001f670
test r13, r13
je 0x18001f685
inc dword [r13 + 0x3c0]
mov rdx, qword [0x18007f6e8]
lea rcx, [rbx + 1]
call fcn.18000eaa0
mov r8, rbx
mov qword [rsp + 0x58], rax
mov rdx, rdi
mov rcx, rax
mov r14, rax
lea r12, [rax + rbx]
call fcn.180041210
xor ebp, ebp
mov byte [r12], 0
xor esi, esi
mov rdi, r14
cmp r14, r12
jae 0x18001f85a
mov qword [rsp + 0x20], r15
nop dword [rax]
movzx eax, byte [rdi]
cmp al, 0xa
je 0x18001f8aa
cmp al, 0xd
je 0x18001f8aa
mov rbx, rdi
cmp rdi, r12
jae 0x18001f703
nop dword [rax + rax]
movzx eax, byte [rbx]
cmp al, 0xa
je 0x18001f703
cmp al, 0xd
je 0x18001f703
inc rbx
cmp rbx, r12
jb 0x18001f6f0
mov byte [rbx], 0
movzx eax, byte [rdi]
cmp al, 0x3b
je 0x18001f843
cmp al, 0x5b
jne 0x18001f82a
cmp rbx, rdi
jbe 0x18001f82a
cmp byte [rbx - 1], 0x5d
lea r14, [rbx - 1]
jne 0x18001f82a
lea rsi, [rdi + 1]
mov byte [r14], 0
mov r8, r14
mov rcx, rsi
sub r8, rsi
mov edx, 0x5d
call fcn.18005c830
mov r15, rax
test rax, rax
je 0x18001f772
lea rcx, [rax + 1]
mov edx, 0x5b
sub r14, rcx
mov r8, r14
call fcn.18005c830
test rax, rax
je 0x18001f772
mov byte [r15], 0
jmp 0x18001f77c
lea rsi, str.Window
mov rax, rdi
movzx r9d, byte [rsi]
lea r11, [rax + 1]
mov r10, qword [0x18007f6f0]
mov r14d, 0xffffffff
lea r8, [rsi + 1]
mov eax, r14d
test r9b, r9b
je 0x18001f7d6
nop dword [rax]
cmp r9b, 0x23
jne 0x18001f7b3
cmp byte [r8], r9b
jne 0x18001f7b3
cmp byte [r8 + 1], r9b
cmove eax, r14d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
lea rcx, [0x18006bde0]
inc r8
xor eax, dword [rcx + rdx*4]
test r9b, r9b
jne 0x18001f7a0
mov r8d, dword [r10 + 0x2f10]
xor ecx, ecx
not eax
test r8d, r8d
jle 0x18001f800
mov r9, qword [r10 + 0x2f18]
lea rdx, [r9 + 8]
cmp dword [rdx], eax
je 0x18001f806
inc ecx
add rdx, 0x30
cmp ecx, r8d
jl 0x18001f7f1
xor esi, esi
xor ebp, ebp
jmp 0x18001f843
movsxd rax, ecx
lea rsi, [rax + rax*2]
shl rsi, 4
add rsi, r9
je 0x18001f802
mov rax, qword [rsi + 0x10]
mov r8, r11
mov rdx, rsi
mov rcx, r13
call rax
mov rbp, rax
jmp 0x18001f843
test rsi, rsi
je 0x18001f843
test rbp, rbp
je 0x18001f843
mov r9, rdi
mov r8, rbp
mov rdx, rsi
mov rcx, r13
call qword [rsi + 0x18]
lea rdi, [rbx + 1]
cmp rdi, r12
jb 0x18001f6d0
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x18001f88a
mov rax, qword [0x18007f6f0]
test rax, rax
je 0x18001f88a
dec dword [rax + 0x3c0]
mov rdx, qword [0x18007f6e8]
mov rcx, r14
call fcn.18000eab0
mov byte [r13 + 0x2ef4], 1
add rsp, 0x38
pop r14
pop r13
ret
inc rdi
jmp 0x18001f6d0
Function at 0x18002a740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test r9d, 0xff000000
je 0x18002a8d1
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movss xmm3, dword [rsp + 0x70]
xorps xmm0, xmm0
comiss xmm3, xmm0
mov edi, r9d
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
jbe 0x18002a7b0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.18002a170
mov r8d, dword [rbx + 0x80]
mov r9d, edi
mov rdx, qword [rbx + 0x88]
mov rcx, rbx
call fcn.1800297f0
mov dword [rbx + 0x80], 0
jmp 0x18002a8bd
mov edx, 6
movaps xmmword [rsp + 0x30], xmm6
lea r8d, [rdx - 2]
call fcn.180028770
movzx edx, word [rbx + 0x4c]
mov rax, qword [rbx + 0x38]
movss xmm1, dword [rsi]
movss xmm2, dword [rbp + 4]
movss xmm3, dword [rbp]
lea ecx, [rdx + 1]
movss xmm6, dword [rax + 4]
movss xmm5, dword [rax]
movss xmm4, dword [rsi + 4]
mov rax, qword [rbx + 0x58]
mov word [rax], dx
mov rax, qword [rbx + 0x58]
mov word [rax + 2], cx
lea ecx, [rdx + 2]
mov rax, qword [rbx + 0x58]
mov word [rax + 4], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 6], dx
add dx, 3
mov rax, qword [rbx + 0x58]
mov word [rax + 8], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 0xa], dx
movsd xmm0, qword [rbp]
mov rax, qword [rbx + 0x50]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 8], xmm5
movss dword [rax + 0xc], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x10], edi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x14], xmm1
movss dword [rax + 0x18], xmm2
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x1c], xmm5
movss dword [rax + 0x20], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x24], edi
movsd xmm0, qword [rsi]
mov rax, qword [rbx + 0x50]
movsd qword [rax + 0x28], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x30], xmm5
movss dword [rax + 0x34], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x38], edi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x3c], xmm3
movss dword [rax + 0x40], xmm4
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x44], xmm5
movss dword [rax + 0x48], xmm6
mov rax, qword [rbx + 0x50]
movaps xmm6, xmmword [rsp + 0x30]
mov dword [rax + 0x4c], edi
add qword [rbx + 0x50], 0x50
add dword [rbx + 0x4c], 4
add qword [rbx + 0x58], 0xc
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x18003b390
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
ret

Function at 0x18003b3b0
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov rax, rdx
syscall
ret

Function at 0x180041b48
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x1800419fb
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1800419fb
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1800419fb
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1800419fb
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1800419fb
cmp dword [rcx + 0x84], 0xe
jbe 0x1800419fb
cmp dword [rcx + 0xf8], 0
je 0x1800419fb
mov ecx, ebx
call fcn.180041aac
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.180041888
nop
cmp dword [rbp + 0x20], 0
je 0x180041a49
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.180041a54
int3
xor r8d, r8d
xor edx, edx
jmp 0x18004198c