joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180065200
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x660]
sub rsp, 0x760
lea r15d, [rcx + 8]
mov r14, r8
mov r13, rdx
cmp ecx, r15d
jae 0x180065418
mov r12d, dword [rbp + 0x6a0]
lea esi, [rcx - 0xe]
movzx edi, word [rbp + 0x6a0]
lea rdx, [0x180000000]
xor ebx, ebx
lea r8d, [rbx + 1]
lea r9d, [rbx + 2]
cmp esi, 0x14
ja case.0x180065267.2
mov ecx, dword [rdx + rsi*4 + 0x6543c]
add rcx, rdx
jmp rcx
movsx eax, word [r14]
lea rdx, [rbp + 0x70]
mov ecx, 0xffffffc0
mov dword [rbp + 0x5cc], eax
mov dword [rbp + 0x5d0], ebx
call qword [0x1800ce8f0]
jmp 0x1800653be
mov rax, qword [r14]
lea rdx, [rsp + 0x50]
mov word [rbp + 0x6a0], r8w
mov ecx, 0x42
lea r8, [rbp + 0x6a0]
mov qword [rsp + 0x50], rax
mov r12d, ebx
call fcn.180018420
mov edi, eax
jmp 0x1800653be
mov qword [rbp + 0x6b8], rbx
jmp case.0x180065267.2
mov rax, qword [r14]
lea r8, [rbp + 0x6a0]
mov word [rbp + 0x6a0], r9w
lea rdx, [rsp + 0x50]
mov r9d, 0x53
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x70]
call fcn.18002dab0
xor r9d, r9d
movsx rax, di
mov qword [rsp + 0x50], rax
xor edx, edx
lea rax, [rsp + 0x50]
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x67]
call fcn.180051020
mov qword [rbp + 0x6b8], rax
test rax, rax
je 0x1800653be
lea rcx, [rbp + 0x6b8]
mov r9d, 0xf003f
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, rax
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov r12d, eax
test eax, eax
jne 0x180065364
mov rcx, qword [rbp + 0x6b8]
lea rdx, [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov r12d, eax
mov rcx, qword [rbp + 0x6b8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1800653be
movzx edi, bx
jmp case.0x180065267.2
mov rax, qword [r14]
lea r9, [rbp + 0x6a0]
mov qword [rsp + 0x40], rbx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x50], rax
xor edx, edx
lea rax, [rsp + 0x50]
mov dword [rbp + 0x6a0], r12d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x28
call fcn.180036ed0
mov r8d, 1
lea rdx, [0x180000000]
lea r9d, [r8 + 1]
inc esi
lea eax, [rsi + 0xe]
cmp eax, r15d
jb 0x180065254
jmp 0x180065418
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
cmp rax, rcx
je 0x1800653fe
mov edx, dword [r13]
nop
cmp dword [rax + 8], edx
je 0x18006541f
add rax, 0x10
cmp rax, rcx
jne 0x1800653f0
mov rax, rbx
jmp 0x18006541f
movzx eax, word [rbp + 0x5d0]
mov word [rbp + 0x6b8], ax
mov word [0x1800ce8f8], bx
mov rax, qword [rbp + 0x6b8]
mov rbx, qword [rsp + 0x7a8]
add rsp, 0x760
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18006ab30
Capabilities:
Encode data using base64
Get common file path
Query or enumerate registry value

Disassembly:
xor r9d, r9d
xor edx, edx
mov r8d, 0x121
xor ecx, ecx
jmp fcn.18002ef20

Function at 0x18007267c
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x20
mov esi, r8d
mov ebx, edx
mov r14d, ecx
test r8d, r8d
jne 0x18007249c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x18007249c
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x18007249c
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x18007249c
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x18007249c
cmp dword [rcx + 0x84], 0xe
jbe 0x18007249c
cmp dword [rcx + 0xf8], esi
je 0x18007249c
mov ecx, r14d
call fcn.1800725e4
mov ecx, 2
call fcn.18007cc20
nop
cmp byte [0x1800e11f0], 0
jne 0x180072566
mov r15d, 1
mov eax, r15d
xchg dword [0x1800e11e0], eax
test ebx, ebx
jne 0x18007250f
mov rdi, qword [0x1800b5348]
mov edx, edi
and edx, 0x3f
lea ecx, [rbx + 0x40]
sub ecx, edx
xor eax, eax
ror rax, cl
xor rax, rdi
mov rcx, qword [0x1800e11e8]
cmp rcx, rax
je 0x180072506
xor rdi, rcx
mov ecx, edx
ror rdi, cl
mov rcx, rdi
call qword [0x180094890]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call rdi
lea rcx, [0x1800e1588]
jmp 0x18007251b
cmp ebx, r15d
jne 0x180072521
lea rcx, [0x1800e15a0]
call fcn.180081184
nop
test ebx, ebx
jne 0x180072538
lea rdx, [0x180094950]
lea rcx, [0x180094930]
call fcn.1800813d8
lea rdx, [0x180094960]
lea rcx, [0x180094958]
call fcn.1800813d8
movzx eax, byte [0x1800e11f0]
test esi, esi
cmove eax, r15d
mov byte [0x1800e11f0], al
jmp 0x180072566
mov ecx, 2
call fcn.18007cc74
test esi, esi
jne 0x18007257d
mov ecx, r14d
call fcn.180072598
int3
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret
xor r8d, r8d
xor edx, edx
jmp 0x18007242c
Function at 0x180087224
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x1800870c4
call fcn.18007d01c
mov dword [rax], 0x16
call fcn.180070ef4
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1800870ac
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x1800870ac
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x1800870f6
lock or dword [rax + 0x14], 0x10
jmp 0x1800870ac
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x180087113
mov rcx, qword [rbp + 0x10]
call fcn.18008fe70
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1800860e0
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.180086afc
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x18008716a
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x1800870ac
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x1800871d6
mov rcx, qword [rbp + 0x10]
call fcn.1800860e0
cmp eax, 0xffffffff
je 0x1800871bd
mov rcx, qword [rbp + 0x10]
call fcn.1800860e0
cmp eax, 0xfffffffe
je 0x1800871bd
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1800860e0
movsxd rdi, eax
lea rsi, [0x1800e17a0]
mov rcx, rbx
sar rdi, 6
call fcn.1800860e0
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x1800871c4
lea rax, [0x1800b56f0]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1800871d6
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x18008720c
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x180087208
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x180087208
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x1800870af
jmp 0x18008707c
Function at 0x1800193d8
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rax, qword [rdx]
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx], rax
je 0x1800194aa
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18001948a
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18001948a
mov r15d, dword [r9 + 0x20]
dec r10d
mov ebp, 0xa1c2b858
lea rcx, [r15 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov sil, byte [r11]
inc r11
test sil, sil
je 0x180019485
movsx ecx, sil
sub sil, 0x41
mov edx, ecx
or edx, 0x20
cmp sil, 0x19
mov sil, byte [r11]
cmova edx, ecx
inc r11
xor edx, ebp
imul ebp, edx, 0x1000193
test sil, sil
jne 0x180019456
cmp ebp, 0x9fc862fa
je 0x18001948f
test r10d, r10d
jne 0x180019438
mov rax, qword [rax]
jmp 0x180019413
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rax, qword [rbx]
movzx ecx, byte [rax]
cmp ecx, 5
ja 0x1800194d9
je 0x1800194d9
test ecx, ecx
je 0x1800194d9
sub ecx, 1
je 0x1800194cf
sub ecx, 1
jne 0x1800194d9
mov rax, qword [rdi + 0x10]
cmp qword [rbx + 0x10], rax
jmp 0x1800194e1
mov rax, qword [rdi + 8]
cmp qword [rbx + 8], rax
jmp 0x1800194e1
mov rax, qword [rdi + 0x18]
cmp qword [rbx + 0x18], rax
mov rbx, qword [rsp + 0x40]
sete al
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

Function at 0x180019598
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
xor r10d, r10d
mov rbx, rdx
mov r11, rcx
test r9b, r9b
je 0x1800195ea
test r8, r8
je 0x18001960d
movabs r9, 0x100000001b3
mov al, byte [r10 + rbx]
mov dl, byte [r10 + rbx]
add al, 0x20
movzx ecx, al
sub dl, 0x41
movzx eax, byte [r10 + rbx]
cmp dl, 0x19
cmova ecx, eax
inc r10
imul r11, r9
movsx rax, cl
xor r11, rax
cmp r10, r8
jb 0x1800195ba
jmp 0x18001960d
test r8, r8
je 0x18001960d
movabs r9, 0x100000001b3
movsx rcx, byte [r10 + rdx]
inc r10
imul r11, r9
xor r11, rcx
cmp r10, r8
jb 0x1800195f9
mov rbx, qword [rsp + 8]
mov rax, r11
ret
xor r8d, r8d
cmp byte [rcx], r8b
je 0x180023c5e
inc r8
cmp byte [r8 + rcx], 0
jne 0x180023c54
mov r9b, dl
mov rdx, rcx
movabs rcx, 0xcbf29ce484222325
jmp 0x180019598
Function at 0x18001d85c
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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 r12
push r14
push r15
sub rsp, 0x20
xor ebx, ebx
mov r15, rdx
cmp byte [rcx], 4
mov rdi, rcx
je 0x18001d932
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18001d912
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18001d912
mov r12d, dword [r9 + 0x20]
dec r10d
mov ebp, 0x71b0aae8
lea rcx, [r12 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov sil, byte [r11]
inc r11
test sil, sil
je 0x18001d90d
movsx ecx, sil
sub sil, 0x41
mov edx, ecx
or edx, 0x20
cmp sil, 0x19
mov sil, byte [r11]
cmova edx, ecx
inc r11
xor edx, ebp
imul ebp, edx, 0x1000193
test sil, sil
jne 0x18001d8de
cmp ebp, 0xa477f8aa
je 0x18001d917
test r10d, r10d
jne 0x18001d8c0
mov rax, qword [rax]
jmp 0x18001d89b
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
cmp byte [rdi], 4
lea rax, [rdi + 8]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
cmove rbx, rax
mov rdi, qword [rsp + 0x58]
mov al, byte [rbx]
mov rbx, qword [rsp + 0x40]
mov byte [r15], al
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x18001d964
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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
movzx r9d, byte [rcx]
xor r8d, r8d
mov r11, rdx
mov r10, rcx
cmp r9d, 5
ja 0x18001d9e4
je 0x18001d9c6
mov edx, r9d
test r9d, r9d
je 0x18001d9f9
sub edx, 1
je 0x18001d9f9
sub edx, 1
je 0x18001d9f9
sub edx, 1
je 0x18001d9f9
cmp edx, 1
jne 0x18001d9f9
lea rax, [rcx + 8]
cmp r9b, 4
cmove r8, rax
movzx eax, byte [r8]
mov dword [r11], eax
jmp 0x18001dac7
sub r9b, 5
cmp r9b, 1
setbe al
add rcx, 8
neg al
sbb rax, rax
and rax, rcx
mov eax, dword [rax]
jmp 0x18001dac5
mov ecx, r9d
sub ecx, 6
je 0x18001dab6
sub ecx, 1
je 0x18001daa3
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov r10d, dword [rcx + r9 + 0x88]
add r10, r9
cmp r10, r9
je 0x18001da81
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x18001da81
mov r14d, dword [r10 + 0x20]
dec r11d
mov esi, 0xc89ff39c
lea rcx, [r14 + r11*4]
mov ebx, dword [rcx + r9]
add rbx, r9
mov dil, byte [rbx]
inc rbx
test dil, dil
je 0x18001da7c
movsx ecx, dil
sub dil, 0x41
mov edx, ecx
or edx, 0x20
cmp dil, 0x19
mov dil, byte [rbx]
cmova edx, ecx
inc rbx
xor edx, esi
imul esi, edx, 0x1000193
test dil, dil
jne 0x18001da4d
cmp esi, 0xe4ee3896
je 0x18001da86
test r11d, r11d
jne 0x18001da2f
mov rax, qword [rax]
jmp 0x18001da0a
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r11*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
call rax
jmp 0x18001dac7
lea rax, [r10 + 8]
cmp r9b, 7
cmove r8, rax
cvttsd2si eax, qword [r8]
jmp 0x18001dac5
lea rax, [r10 + 8]
cmp r9b, 6
cmove r8, rax
mov eax, dword [r8]
mov dword [rdx], eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x18001dae4
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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
movzx r8d, byte [rcx]
xor r9d, r9d
mov r10, rcx
cmp r8d, 5
ja 0x18001db3e
je 0x18001db20
test r8d, r8d
je 0x18001db53
sub r8d, 1
je 0x18001db53
sub r8d, 1
jmp 0x18001db53
sub r8b, 5
cmp r8b, 1
setbe al
add rcx, 8
neg al
sbb rax, rax
and rax, rcx
mov eax, dword [rax]
jmp 0x18001dc1f
mov ecx, r8d
sub ecx, 6
je 0x18001dc10
sub ecx, 1
je 0x18001dbfd
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r10d, dword [rcx + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x18001dbdb
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x18001dbdb
mov r14d, dword [r10 + 0x20]
dec r11d
mov esi, 0xa2aaa889
lea rcx, [r14 + r11*4]
mov ebx, dword [rcx + r8]
add rbx, r8
mov dil, byte [rbx]
inc rbx
test dil, dil
je 0x18001dbd6
movsx ecx, dil
sub dil, 0x41
mov edx, ecx
or edx, 0x20
cmp dil, 0x19
mov dil, byte [rbx]
cmova edx, ecx
inc rbx
xor edx, esi
imul esi, edx, 0x1000193
test dil, dil
jne 0x18001dba7
cmp esi, 0x54b21d05
je 0x18001dbe0
test r11d, r11d
jne 0x18001db89
mov rax, qword [rax]
jmp 0x18001db64
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
jmp 0x18001dc21
lea rax, [r10 + 8]
cmp r8b, 7
cmove r9, rax
cvttsd2si eax, qword [r9]
jmp 0x18001dc1f
lea rax, [r10 + 8]
cmp r8b, 6
cmove r9, rax
mov eax, dword [r9]
mov dword [rdx], eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x18001f7e8
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp byte [rcx + 0xb0], 0
mov byte [rcx + 0x68], 1
je 0x18001f8b1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18001f891
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18001f891
mov r14d, dword [r9 + 0x20]
dec r10d
mov edi, 0xcdbc3bf7
lea rcx, [r14 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x18001f88c
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x18001f861
cmp edi, 0xfc8f57cb
je 0x18001f896
test r10d, r10d
jne 0x18001f844
mov rax, qword [rax]
jmp 0x18001f81f
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rbx, qword [rsp + 0x30]
xor al, al
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x18001f8cc
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp byte [rcx + 0x29], 0
mov byte [rcx + 0x28], 1
je 0x18001f992
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18001f972
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18001f972
mov r14d, dword [r9 + 0x20]
dec r10d
mov edi, 0xb38d62b8
lea rcx, [r14 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x18001f96d
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x18001f942
cmp edi, 0xd089cda
je 0x18001f977
test r10d, r10d
jne 0x18001f925
mov rax, qword [rax]
jmp 0x18001f900
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rbx, qword [rsp + 0x30]
xor al, al
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x180021bf4
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
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, 0x20
and qword [rcx], 0
mov r14, rdx
and qword [rcx + 8], 0
mov r12b, r8b
mov rax, qword [rdx]
mov rdi, rcx
mov qword [rcx], rax
mov r13d, r9d
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
add rcx, 0x10
and qword [rdx], 0
and qword [rdx + 8], 0
xor edx, edx
lea r8d, [rdx + 0x40]
call fcn.1800482a0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180021cce
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x180021cce
mov r15d, dword [r9 + 0x20]
dec r10d
mov esi, 0x10817c45
lea rcx, [r15 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x180021cc9
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, esi
imul esi, edx, 0x1000193
test bl, bl
jne 0x180021c9e
cmp esi, 0x92232829
je 0x180021cd3
test r10d, r10d
jne 0x180021c81
mov rax, qword [rax]
jmp 0x180021c5c
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov qword [rdi + 0x50], rax
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180021cfd
mov cl, byte [rcx]
mov byte [rdi + 0x58], cl
mov rax, qword [rax]
test rax, rax
je 0x180021d0a
mov al, byte [rax]
mov ebx, 0x200
mov byte [rdi + 0x59], al
mov r8d, ebx
lea rcx, [rdi + 0x5a]
xor edx, edx
call fcn.1800482a0
lea rcx, [rdi + 0x260]
mov byte [rdi + 0x25a], r12b
xorps xmm0, xmm0
mov r8d, ebx
movups xmmword [rcx], xmm0
and qword [rcx + 0x10], 0
mov dl, r12b
and qword [rcx + 0x18], 0
call fcn.18001998c
mov dword [rdi + 0x280], r13d
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x180021d83
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x180021d83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x180021d83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rbx, qword [rsp + 0x50]
mov rax, rdi
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x180021f44
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movzx r8d, dl
xor r15d, r15d
mov rdi, rcx
cmp r8d, 5
ja 0x18002201a
je 0x1800220ff
test dl, dl
je 0x1800220ff
sub r8d, 1
je 0x180021fe0
sub r8d, 1
je 0x180021fc3
sub r8d, 1
je 0x180021fa2
cmp r8d, 1
jne 0x180022038
mov byte [rcx], r15b
jmp 0x180022102
mov ecx, 0x20
call fcn.180047798
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
jmp 0x180021fd8
mov ecx, 0x18
call fcn.180047798
mov qword [rax + 0x10], r15
mov qword [rax + 8], r15
mov qword [rax], r15
mov qword [rdi], rax
jmp 0x180022102
mov ecx, 0x10
call fcn.180047798
mov ecx, 0x50
mov rbx, rax
mov qword [rax], r15
mov qword [rax + 8], r15
call fcn.180047798
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [rdi], rbx
jmp 0x180022102
sub r8d, 6
je 0x1800220ff
sub r8d, 1
je 0x1800220ff
cmp r8d, 1
je 0x1800220e8
mov qword [rcx], r15
test dl, dl
jne 0x180022102
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x1800220c6
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x1800220c6
mov r14d, dword [r9 + 0x20]
dec r10d
mov ebp, 0x7e13ec12
lea rcx, [r14 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x1800220c1
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, ebp
imul ebp, edx, 0x1000193
test bl, bl
jne 0x180022096
cmp ebp, 0x750c7044
je 0x1800220cb
test r10d, r10d
jne 0x180022079
mov rax, qword [rax]
jmp 0x180022054
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
jmp 0x180022102
mov ecx, 0x28
call fcn.180047798
mov qword [rax + 0x18], r15
mov byte [rax + 0x20], r15b
jmp 0x180021fcd
mov qword [rcx], r15
mov rbx, qword [rsp + 0x40]
mov rax, rdi
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret