joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400015e0
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x38
call fcn.140001290
xor r9d, r9d
mov dword [rsp + 0x28], 1
lea r8, str.downloaded_file.exe
mov qword [rsp + 0x20], 0
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x20
jle 0x140001629
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.Execution_successful.
jmp 0x140001637
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcerr]
lea rdx, str.Error_executing_the_file.
call fcn.1400027a0
lea rdx, [0x140002980]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
add rsp, 0x38
ret

Function at 0x1400019f0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je case.default.0x140001a11
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x140001a3e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140001a40
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140001a99
test ecx, ecx
jle 0x140001a79
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140001a99
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140001a99
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
Function at 0x140002050
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14000207d
xor eax, eax
jmp 0x1400021e9
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x1400020b7
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x1400020b7
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x1400021e9
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x1400021dc
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x1400020fa
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140002125
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x1400021e1
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140002194
sub eax, 1
je 0x140002194
cmp eax, 2
jne 0x1400021dc
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x1400021e1
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x1400021c2
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x1400021dc
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x1400021e1
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140002cd0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400025f0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x1400026c3
cmp byte [rcx + 0x71], 0
je 0x1400026c3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x1400026bf
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140002684
sub eax, 1
je 0x140002688
cmp eax, 2
jne 0x1400026bf
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140002cd0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x1400026b6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x1400026bf
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14000266c
xor al, al
jmp 0x14000266c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140002cd0
add rsp, 0x60
pop rbx
ret

Function at 0x140003650
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000369a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000369a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000369a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000369a
cmp dword [rcx + 0x84], 0xe
jbe 0x14000369a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14000369c
xor al, al
add rsp, 0x28
ret
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, 0xa3cd332e
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, 0xe4036318
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, 0xd8ff6de
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, 0x7f48ae8
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, 0x1867dfd6
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, 0x4efa1300
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, 0xbf6bcd93
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, 0x9bc9b9af
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, 0x85f435c5
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, 0x488c92f9
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, 0x612f0896
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, 0x425759c0
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, 0x6b343017
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, 0xe51fd6f3
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, 0xaee28634
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, 0x3decfd2e
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