joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180062754
Capabilities:
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
cmp byte [rcx + 9], 0
mov r15, r8
mov rdi, rcx
jne 0x18006290f
cmp qword [rcx + 0x178], 0
je 0x18006290f
and qword [rbp + 0x30], 0
lea r8, [rbp + 0x30]
call fcn.1800632d4
and qword [rbp - 0x38], 0
xor eax, eax
mov dword [rbp - 0x44], eax
mov qword [rbp + 0x48], rax
mov dword [rbp - 0x28], eax
mov qword [rbp - 0x18], rax
mov rax, qword [rdi + 0x170]
mov qword [rbp - 0x60], rax
mov rax, qword [rdi + 0x180]
mov qword [rbp - 0x58], rax
mov rax, qword [rdi + 0x178]
mov qword [rbp - 0x50], rax
mov eax, dword [rdi + 0x190]
mov dword [rbp - 0x48], eax
mov rax, qword [rdi + 0x188]
mov qword [rbp - 0x30], rax
mov eax, 2
mov dword [rbp - 0x24], eax
mov dword [rbp - 0x20], eax
lea rax, [sym.steam_api64.dll_SteamAPI_ISteamApps_RequestPublisherOwnedAppData]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x30]
and qword [rbp + 0x30], 0
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x1c], 1
lea rdx, [rbp + 0x30]
lea rcx, [0x18005f820]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x18006280a
mov qword [rdi + 0x168], rax
call fcn.180022184
mov rcx, qword [rdi + 0x168]
call fcn.18001f3b0
mov rsi, qword [0x1801b9dc0]
mov r14, qword [rdi + 0x1b0]
test rsi, rsi
je 0x180062855
inc dword [rsi + 0xf4]
mov ecx, 0xe8
call qword [sym.imp.msvcrt.dll_malloc]
mov qword [rbp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x180062886
xor edx, edx
mov r8d, 0xe8
mov rcx, rax
call fcn.180097dc0
mov qword [rbx + 0x60], 0x100
jmp 0x180062888
xor ebx, ebx
or dword [rsi + 0xc], 8
lea rax, str.imgui_impl_vulkan
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
mov qword [rsi + 0x90], rax
mov rax, qword [rbp + 0x48]
mov qword [rsi + 0xa0], rbx
movups xmmword [rbx], xmm0
mov qword [rbx + 0x58], r14
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [rbx + 0x10], xmm1
mov dword [rbx + 0x88], eax
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rbx + 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rbx + 0x30], xmm1
movsd xmm1, qword [rbp - 0x10]
movups xmmword [rbx + 0x40], xmm0
movsd qword [rbx + 0x50], xmm1
call fcn.18001e6b8
mov rcx, rdi
call fcn.18005e0f4
mov rax, qword [r15 + 0x30]
mov ecx, dword [rax]
lea rax, [rcx + rcx*2]
mov rcx, qword [rdi + 0x1b8]
add rax, rax
mov rcx, qword [rcx + rax*8 + 8]
call fcn.18001ddc8
mov byte [rdi + 9], 1
mov rbx, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x180064a18
Capabilities:
Contain obfuscated stackstrings
Get common file path
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov byte [rbp - 0x10], 0x5a
xor ecx, ecx
mov byte [rbp - 0xf], 0x7b
mov byte [rbp - 0xe], 0x6c
mov byte [rbp - 0xd], 0x68
mov byte [rbp - 0xc], reloc.WS2_32.dll_WSACleanup
mov byte [rbp - 0xb], 0x57
mov byte [rbp - 0xa], 0x68
mov byte [rbp - 9], 0x7b
mov byte [rbp - 8], WSASetLastError
mov byte [rbp - 7], 0
mov al, byte [rbp - 0x10]
mov al, byte [rbp + rcx - 0x10]
sub al, 7
mov byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 9
jb 0x180064a4e
mov r8d, 0x104
lea rdx, [0x1801be310]
lea rcx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x180064a8e
lea rdx, [0x1801be310]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rax, [0x1801be310]
add rsp, 0x30
pop rbp
ret

Function at 0x180064c8c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbp, qword [0x1801b9dc8]
mov rbx, rcx
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9d, dword [rbx + 0xc]
movabs rdx, 0xcbf29ce484222325
mov dword [rsp + 0x40], r9d
xor r8d, r8d
movzx eax, byte [rsp + r8 + 0x40]
movabs rcx, 0x100000001b3
xor rdx, rax
inc r8
imul rdx, rcx
cmp r8, 4
jb 0x180064ccb
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x20]
and rax, rdx
add rax, rax
mov rdi, qword [rcx + rax*8 + 8]
cmp rdi, qword [rbp + 0x10]
je 0x180064d1b
mov rcx, qword [rcx + rax*8]
jmp 0x180064d13
cmp rdi, rcx
je 0x180064d1b
mov rdi, qword [rdi + 8]
cmp r9d, dword [rdi + 0x10]
jne 0x180064d0a
jmp 0x180064d1d
xor edi, edi
test rdi, rdi
je 0x180064da7
cmp rdi, qword [rbp + 0x10]
je 0x180064da7
mov rdx, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x18]
jmp 0x180064d3f
cmp qword [rsi], rbx
je 0x180064d44
add rsi, 8
cmp rsi, rdx
jne 0x180064d36
cmp rsi, rdx
je 0x180064d86
lea rax, [rsi + 8]
jmp 0x180064d62
mov rcx, qword [rax]
cmp rcx, rbx
je 0x180064d5e
mov qword [rsi], rcx
add rsi, 8
add rax, 8
cmp rax, rdx
jne 0x180064d4f
cmp rsi, rdx
je 0x180064d86
mov rbx, qword [rdi + 0x20]
mov rcx, rsi
sub rbx, rdx
mov r8, rbx
call sub.msvcrt.dll_memmove
lea rax, [rbx + rsi]
mov qword [rdi + 0x20], rax
mov rax, qword [rdi + 0x20]
sub rax, qword [rdi + 0x18]
test rax, 0xfffffffffffffff8
jne 0x180064da7
lea rcx, [rbp + 8]
mov r8, rdi
lea rdx, [rsp + 0x40]
call fcn.180043a6c
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret

Function at 0x18006c418
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp fcn.180043610
Function at 0x18006e3c8
Capabilities:
Read file on windows

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 rbp, rdx
mov r14, rcx
xor edi, edi
xor ebx, ebx
xor esi, esi
call qword [sym.imp.msvcrt.dll_feof]
test eax, eax
jne 0x18006e469
cmp esi, edi
jne 0x18006e41d
lea r15d, [rdi + 0x3e8]
mov edx, edi
mov r8d, r15d
mov rcx, rbx
call fcn.18006c8cc
test rax, rax
je 0x18006e4a5
mov rbx, rax
mov edi, r15d
call qword [sym.imp.msvcrt.dll__errno]
movsxd rcx, esi
mov r9, r14
add rcx, rbx
mov edx, 1
and dword [rax], 0
mov eax, edi
sub eax, esi
movsxd r8, eax
call qword [sym.imp.msvcrt.dll_fread]
mov rcx, r14
mov r15, rax
call qword [sym.imp.msvcrt.dll_ferror]
test eax, eax
jne 0x18006e4ae
mov rcx, r14
add esi, r15d
call qword [sym.imp.msvcrt.dll_feof]
test eax, eax
je 0x18006e3f6
cmp esi, edi
jne 0x18006e4ec
lea r8d, [rdi + 1]
mov edx, edi
mov rcx, rbx
call fcn.18006c8cc
test rax, rax
jne 0x18006e4e9
lea r8, [0x1801b58d8]
mov edx, 0xc8
mov rcx, rbp
call fcn.1800448b4
test rbx, rbx
je 0x18006e4a1
mov rax, qword [fcn.18009a498]
mov rcx, rbx
call rax
xor eax, eax
jmp 0x18006e515
lea r8, [0x1801b5908]
jmp 0x18006e483
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0
je 0x18006e4c9
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.msvcrt.dll_strerror]
jmp 0x18006e4d0
lea rax, str.Error_reading_file
mov r9, rax
lea r8, [0x1801b58e8]
mov edx, 0xc8
mov rcx, rbp
call fcn.1800448b4
jmp 0x18006e490
mov rbx, rax
movsxd rax, esi
mov rdx, rbp
mov rcx, rbx
mov byte [rax + rbx], 0
call fcn.18006dca0
mov rdi, rax
test rbx, rbx
je 0x18006e512
mov rdx, qword [fcn.18009a498]
mov rcx, rbx
call rdx
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x18006f794
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], r8
push rdi
sub rsp, 0x20
mov rdi, qword [0x1801ba588]
mov rsi, rdx
mov rbx, qword [rdi + 8]
test rbx, rbx
jne 0x18006f811
mov r9d, 0x4f4e4554
lea r8, [0x180118130]
mov edx, 0x2728e
mov ecx, dword [r8]
mov eax, ecx
xor eax, r9d
mov r9d, ecx
mov dword [r8], eax
lea r8, [r8 + 4]
sub rdx, 1
jne 0x18006f7cd
mov edx, 0x4e078
mov ecx, 1
call qword [sym.imp.msvcrt.dll_calloc]
mov rbx, rax
test rax, rax
je 0x18006f82d
and dword [rax + 0x70], 0
mov rcx, rax
call fcn.180074584
test eax, eax
je 0x18006f824
mov qword [rdi + 8], rbx
mov rdx, rsi
mov rcx, rbx
call fcn.180075fb4
test eax, eax
je 0x18006f834
xor al, al
jmp 0x18006f88c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
and qword [rdi + 8], 0
jmp 0x18006f820
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x40]
call fcn.180076790
mov rdi, rax
test eax, eax
jle 0x18006f88a
lea rdx, [0x1800cf3c8]
lea rcx, [0x1801badd0]
call qword [sym.imp.msvcrt.dll_fopen]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
mov r9, rax
movsxd rdx, edi
mov rbx, rax
call fcn.1800a3700
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_free]
mov al, 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x18006f89c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
lea rbx, [0x1800cfeb0]
mov r9d, ecx
not r9d
cmp r8, 4
jb 0x18006f8ee
mov r10, r8
shr r10, 2
imul rax, r10, 0xfffffffffffffffc
add r8, rax
xor r11d, r11d
movzx ecx, byte [rdx + r11]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc r11
xor r9d, dword [rbx + rax*4]
cmp r11, 4
jl 0x18006f8c5
add rdx, 4
sub r10, 1
jne 0x18006f8c2
test r8, r8
je 0x18006f910
movzx ecx, byte [rdx]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc rdx
xor r9d, dword [rbx + rax*4]
sub r8, 1
jne 0x18006f8f3
mov rbx, qword [rsp + 8]
not r9d
mov eax, r9d
ret
Function at 0x180078ac8
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
and qword [rcx + 8], 0
lea rax, vtable.MemoryAllocator.0
mov rbx, r8
mov qword [rcx], rax
and rbx, 0xfffffffffffff000
mov rsi, rdx
test r8, r8
mov rdi, rcx
cmove rbx, r8
add rbx, 0x1000
mov r9d, 0x40
mov rcx, rbx
mov r8d, 0x3000
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rdi + 8], rax
test rax, rax
je 0x180078afd
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18007a0c4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x30
mov rax, rdx
mov ecx, 0xfffffffd
sub rax, r8
mov rdi, r8
add rax, 0x7ffffffa
mov rsi, rdx
cmp rax, rcx
ja 0x18007a157
mov byte [rbp - 0x10], WSACleanup
xor ecx, ecx
mov byte [rbp - 0xf], 0x75
mov byte [rbp - 0xe], 0x78
mov byte [rbp - 0xd], 0x28
mov byte [rbp - 0xc], 0x38
mov byte [rbp - 0xb], 0x80
mov byte [rbp - 0xa], 0x2d
mov byte [rbp - 9], 0x38
mov byte [rbp - 8], 0x39
mov byte [rbp - 7], 0x3e
mov byte [rbp - 6], reloc.WS2_32.dll_WSACleanup
mov byte [rbp - 5], reloc.WS2_32.dll_WSACleanup
mov byte [rbp - 4], 0x80
mov byte [rbp - 3], cl
mov al, byte [rbp - 0x10]
mov al, byte [rbp + rcx - 0x10]
sub al, 8
mov byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 0xd
jb 0x18007a133
mov r8, rsi
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1800811f8
jmp 0x18007a1bf
mov byte [rbp - 0x10], 0x77
xor ecx, ecx
mov byte [rbp - 0xf], 0x7a
mov byte [rbp - 0xe], 0x7d
mov byte [rbp - 0xd], 0x2d
mov byte [rbp - 0xc], 0x68
mov byte [rbp - 0xb], 0x7f
mov byte [rbp - 0xa], 0x76
mov byte [rbp - 9], 0x7d
mov byte [rbp - 8], 0x6a
mov byte [rbp - 7], cl
mov al, byte [rbp - 0x10]
mov al, byte [rbp + rcx - 0x10]
sub al, 0xd
mov byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 9
jb 0x18007a183
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1800811f8
mov r8d, 8
mov qword [rbp + 0x18], rsi
lea rdx, [rbp + 0x18]
mov rbx, rax
lea rcx, [rax + rdi]
call fcn.180081a9c
add rax, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbp
ret
Function at 0x18007c9a8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
lea rax, [rdx - 1]
mov r14, r8
mov rbx, rdx
mov rsi, rcx
cmp rax, 0xfffffffffffffffd
ja 0x18007caf8
mov rax, r8
mov ecx, 0xfffffffd
sub rax, rdx
mov edx, 5
add rax, 0x7ffffffa
cmp rax, rcx
mov rcx, rbx
lea r8d, [rdx + 9]
cmova edx, r8d
call fcn.180081648
lea rcx, [rsi + 8]
mov r8, rbx
mov r12, rax
lea rdx, [rax + 0x100]
call fcn.18007a1d4
mov r9, r12
mov r8, rbx
mov rdx, rax
mov rcx, rsi
mov r15, rax
call fcn.180081d94
add r15, rax
mov rcx, r15
call fcn.18007b364
mov byte [rbp - 0x10], 0x79
xor ecx, ecx
mov byte [rbp - 0xf], 0x7b
mov byte [rbp - 0xe], 0x82
mov byte [rbp - 0xd], 0x2c
lea rdi, [r15 + rax]
mov byte [rbp - 0xc], 0x7e
mov byte [rbp - 0xb], WSASetLastError
mov byte [rbp - 0xa], 0x84
mov byte [rbp - 9], 0x38
mov byte [rbp - 8], 0x2c
mov byte [rbp - 7], 0x7e
mov byte [rbp - 6], 0x7f
mov byte [rbp - 5], 0x7c
mov byte [rbp - 4], cl
mov al, byte [rbp - 0x10]
mov al, byte [rbp + rcx - 0x10]
sub al, 0xc
mov byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 0xc
jb 0x18007ca78
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1800811f8
add rdi, rax
mov rdx, r14
mov r8, rdi
mov rcx, rsi
call fcn.180079568
add rdi, rax
mov rcx, rdi
call fcn.18007a258
add rdi, rax
mov r9, r12
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.180079b7c
lea rdx, [r12 + rbx]
mov rcx, rsi
lea r8, [rax + rdi]
call fcn.18007a0c4
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.18007a0c4
sub r12, rax
mov rdx, r12
lea rcx, [rax + rbx]
call fcn.180081b28
mov al, 1
jmp 0x18007cafa
xor al, al
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rbp
ret
Function at 0x18007d500
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
jmp 0x18007d56d
cmp ecx, 0x29
jne 0x18007d582
cmp dword [rbx + 0x1c], 0
jne 0x18007d577
test dword [rbx + 0x80], 0x10000000
je 0x18007d6a2
cmp ecx, 0x5d
jne 0x18007d544
test dword [rbx + 0x80], 0x10000000
je 0x18007d694
mov dl, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.18007cb74
mov dil, 1
mov rcx, rbx
call fcn.18007fa50
test dil, dil
je 0x18007d568
mov rcx, rbx
call fcn.18007fac4
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
je 0x18007d577
cmp ecx, 0x7c
jne 0x18007d514
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x2e
jne 0x18007d59f
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.18007f9f8
mov rcx, rbx
call fcn.18007fa50
jmp 0x18007d560
cmp ecx, 0x5c
jne 0x18007d5fd
mov rcx, rbx
call fcn.18007fa50
test byte [rbx + 0x80], 0x80
je 0x18007d5f0
mov al, byte [rbx + 0x78]
cmp al, 0x62
jne 0x18007d5d4
mov edx, 4
lea rcx, [rbx + 0x40]
call fcn.18007f9f8
mov rcx, rbx
call fcn.18007fa50
jmp 0x18007d568
cmp al, 0x42
jne 0x18007d5f0
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.18007f9f8
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
jmp 0x18007d5ca
mov rcx, rbx
call fcn.18007d6c0
jmp 0x18007d560
cmp ecx, 0x5b
jne 0x18007d61d
mov rcx, rbx
call fcn.18007fa50
mov rcx, rbx
call fcn.18007de30
cmp dword [rbx + 0x7c], 0x5d
jne 0x18007d694
jmp 0x18007d595
cmp ecx, 0x28
jne 0x18007d640
mov rcx, rbx
call fcn.18007fa50
mov rcx, rbx
call fcn.18007fff0
cmp dword [rbx + 0x7c], 0x29
mov dil, al
jne 0x18007d6a2
jmp 0x18007d553
cmp ecx, 0x5e
jne 0x18007d64d
lea edx, [rcx - 0x5c]
jmp 0x18007d5c1
cmp ecx, 0x24
jne 0x18007d65a
lea edx, [rcx - 0x21]
jmp 0x18007d5c1
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18007d686
cmp ecx, 0x3f
je 0x18007d686
cmp ecx, 0x7b
je 0x18007d686
cmp ecx, 0x7d
jne 0x18007d52f
test dword [rbx + 0x80], 0x10000000
je 0x18007d6b0
jmp 0x18007d544
mov edx, 0xa
mov rcx, rbx
call fcn.18007eedc
int3
mov edx, 4
mov rcx, rbx
call fcn.18007eedc
int3
mov edx, 5
mov rcx, rbx
call fcn.18007eedc
int3
mov edx, 6
mov rcx, rbx
call fcn.18007eedc
int3

Function at 0x180080164
Capabilities:
Encode data using xor

Disassembly:
sub r8, rdx
mov rcx, rdx
mov rdx, r8
jmp fcn.18001056c
Function at 0x1800816bc
Capabilities:
Contain obfuscated stackstrings
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xe0
mov r15, r9
mov ebx, r8d
mov r14, rdx
xor esi, esi
lea ecx, [rbx*2 + 1]
call fcn.180096328
mov rdi, rax
mov rcx, rax
mov r10, r14
mov byte [rsp + 0x20], 0x39
mov byte [rbp - 0x80], 0x3a
mov byte [rbp - 0x7f], 0x3b
mov byte [rbp - 0x7e], 0x3c
mov byte [rbp - 0x7d], 0x3d
mov byte [rbp - 0x7c], 0x3e
mov byte [rbp - 0x7b], 0x3f
mov byte [rbp - 0x7a], 0x40
mov byte [rbp - 0x79], 0x41
mov byte [rbp - 0x78], 0x42
mov byte [rbp - 0x77], 0x4a
mov byte [rbp - 0x76], 0x4b
mov byte [rbp - 0x75], 0x4c
mov byte [rbp - 0x74], 0x4d
mov byte [rbp - 0x73], 0x4e
mov byte [rbp - 0x72], 0x4f
mov byte [rbp - 0x71], sil
mov al, byte [rsp + 0x20]
xor edx, edx
mov al, byte [rsp + rdx + 0x20]
sub al, 9
mov byte [rsp + rdx + 0x20], al
inc rdx
cmp rdx, 0x10
jb 0x180081746
test ebx, ebx
je 0x180081789
mov rdx, rbx
movzx eax, byte [r10]
shr rax, 4
mov al, byte [rsp + rax + 0x20]
mov byte [rcx], al
movzx eax, byte [r10]
and eax, 0xf
mov al, byte [rsp + rax + 0x20]
mov byte [rcx + 1], al
add rcx, 2
inc r10
sub rdx, 1
jne 0x180081760
mov byte [rcx], sil
mov r8d, 0x700
mov rdx, r15
lea rcx, [rbp + 0xf]
call fcn.180078998
nop
and qword [rbp - 0x61], 0
mov byte [rbp - 0x59], 0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x51], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x41], xmm1
and qword [rbp - 0x31], 0
mov byte [rbp - 0x29], 0
movdqa xmmword [rbp - 0x21], xmm0
mov byte [rbp - 0x11], 0
and qword [rbp - 9], 0
and qword [rbp - 1], 0
mov byte [rbp + 7], 0
xor r9d, r9d
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x61]
mov rcx, rdi
call fcn.1800782d4
movabs rbx, 0x2aaaaaaaaaaaaaab
test al, al
je 0x180081862
mov rcx, qword [rbp - 0x49]
mov r8, qword [rbp - 0x51]
sub rcx, r8
mov rax, rbx
imul rcx
mov rcx, rdx
sar rcx, 2
mov rax, rcx
shr rax, 0x3f
add rcx, rax
lea rax, [rbp - 9]
cmovne rax, r8
mov rax, qword [rax]
sub rax, qword [rbp - 0x61]
cqo
sub rax, rdx
sar rax, 1
lea rsi, [r14 + rax]
lea rax, [rbp - 9]
test rcx, rcx
cmovne rax, r8
sub rcx, qword [rbp - 0x61]
add rcx, qword [rax]
add rcx, rdi
xor r9d, r9d
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x61]
call fcn.1800782d4
movsxd rax, dword [rbp + 0x7f]
add rsi, rax
mov rcx, rdi
call fcn.180095ea4
nop
mov r8, qword [rbp - 0x51]
test r8, r8
je 0x1800818c1
mov rcx, qword [rbp - 0x41]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x1800818b8
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800818ea
mov rcx, r8
call fcn.180095ea4
nop
lea rcx, [rbp + 0xf]
call fcn.180078f84
mov rax, rsi
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.18009a2c0
nop
Function at 0x1800818f0
Capabilities:
Parse pe header
Read file on windows

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, 0x230
mov r15, r9
mov r12, r8
mov rbx, rdx
xor edi, edi
call fcn.1800814b0
mov r14, rax
test rax, rax
je 0x180081a75
test rbx, rbx
jne 0x18008194a
mov r8d, 0x104
lea rdx, [rsp + 0x20]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x180081980
jmp 0x180081967
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r8d, 0x104
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, [0x1800ad38c]
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll__wfopen
mov rsi, rax
test rax, rax
jne 0x180081987
xor al, al
jmp 0x180081a78
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 2]
call sub.msvcrt.dll_fseek
mov rcx, rsi
call sub.msvcrt.dll_ftell
movsxd rbx, eax
mov rcx, rsi
cmp ebx, 0x40000000
jle 0x1800819b2
call sub.msvcrt.dll_fclose
jmp 0x180081980
xor r8d, r8d
xor edx, edx
call sub.msvcrt.dll_fseek
mov rcx, rbx
call fcn.180096328
mov r9, rsi
mov r8d, 1
mov rdx, rbx
mov rcx, rax
mov rbp, rax
call sub.msvcrt.dll_fread
mov rcx, rsi
call sub.msvcrt.dll_fclose
mov eax, 0x5a4d
cmp word [rbp], ax
jne 0x180081a6d
movsxd rcx, dword [rbp + 0x3c]
add rcx, rbp
cmp dword [rcx], 0x4550
jne 0x180081a6d
movzx r8d, word [rcx + 0x14]
mov edx, edi
movzx ebx, word [rcx + 6]
add r8, rcx
test ebx, ebx
je 0x180081a6d
movsxd rax, edx
lea r11, [r8 + 0x18]
lea r9, [rax + rax*4]
mov rax, r12
lea r11, [r11 + r9*8]
sub r11, r12
movzx ecx, byte [rax]
movzx r10d, byte [rax + r11]
sub ecx, r10d
jne 0x180081a39
inc rax
test r10d, r10d
jne 0x180081a24
test ecx, ecx
je 0x180081a45
inc edx
cmp edx, ebx
jl 0x180081a0f
jmp 0x180081a6d
mov eax, dword [r8 + r9*8 + 0x24]
mov dil, 1
add rax, r14
mov qword [r15], rax
mov ecx, dword [r8 + r9*8 + 0x28]
cmp ecx, dword [r8 + r9*8 + 0x20]
mov rax, qword [rsp + 0x270]
cmovbe ecx, dword [r8 + r9*8 + 0x20]
mov dword [rax], ecx
mov rcx, rbp
call fcn.180095ea4
mov al, dil
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret

Function at 0x180081a9c
Capabilities:
Allocate or change rwx memory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x30
and dword [rax + 0x18], 0
lea r9, [rax + 0x18]
mov rsi, r8
mov rbx, rdx
mov rdx, rsi
mov r8d, 0x40
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
and qword [rsp + 0x20], 0
mov r9, rsi
mov rcx, rax
mov r8, rbx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x18008242c
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rbx, rdx
mov rdi, rcx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180082450
cmp rax, 0x100
jae 0x180082507
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x230
call fcn.180097dc0
mov r8, rbx
mov qword [rsp + 0x38], rdi
mov edx, 0x100
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_strcpy_s
lea rcx, [rsp + 0x30]
mov byte [rsp + 0x30], 1
call fcn.18008274c
test eax, eax
je 0x180082507
mov edx, dword [rsp + 0x40]
lea r9, [rbp + 0x180]
and dword [rbp + 0x180], 0
mov r8d, 0x40
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ebx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
and qword [rsp + 0x20], 0
lea r8, [rsp + 0x50]
mov rcx, rax
mov r9d, ebx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edx, dword [rsp + 0x40]
lea r9, [rbp + 0x180]
mov r8d, dword [rbp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rsp + 0x40]
jmp 0x180082509
xor eax, eax
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret

Function at 0x1800826d4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, qword [rdx]
mov r10, r9
mov r9d, dword [rsp + 0x28]
movsxd r8, r8d
inc r9d
mov byte [rsp + 0x28], 1
mov rdx, qword [rax + r8*8]
mov r8, r10
jmp fcn.18007c344