joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18017d1b0
Capabilities:
Read file on windows

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [r11 - 0x60], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r13, r8
mov rsi, rdx
mov rdi, rcx
mov rcx, qword [rdx]
test rcx, rcx
je 0x18017d39a
cmp qword [rcx], 0xffffffffffffffff
je 0x18017d39a
mov qword [r11 - 0x50], 0xffffffffffff8000
mov ebx, 2
mov r9d, ebx
lea r8, [r11 - 0x4c]
mov edx, 0xffff8000
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x48], eax
cmp eax, 0xffffffff
jne 0x18017d235
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18017d39a
mov ecx, 0x10000
call fcn.180386168
mov r15, rax
xor ebp, ebp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x50], rax
xor edx, edx
mov r8d, 0x10000
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x40], ebp
mov rcx, qword [rsi]
test rcx, rcx
je 0x18017d378
test r15, r15
je 0x18017d378
cmp qword [rcx], 0xffffffffffffffff
je 0x18017d378
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0x40]
mov r8d, 0x8000
mov rdx, r15
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18017d378
xor ecx, ecx
mov ebp, ecx
mov esi, ecx
mov r14d, 0x8000
lea r12, [r15 + 0x8000]
nop dword [rax + rax]
movzx eax, byte [rdi + 0xd8]
test al, al
jne 0x18017d389
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x30], ecx
mov edx, esi
add rdx, r12
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8d, r14d
mov rcx, r13
call fcn.1801998b0
test al, al
je 0x18017d36d
mov eax, dword [rsp + 0x30]
test eax, eax
jne 0x18017d32c
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x18017d319
mov edx, 0x3e8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movzx eax, byte [rdi + 0xd8]
test al, al
jne 0x18017d389
inc ebp
mov eax, dword [rsp + 0x30]
jmp 0x18017d336
add esi, eax
cmp esi, 0x8000
je 0x18017d347
cmp ebp, 0xf
ja 0x18017d366
sub r14d, eax
je 0x18017d347
xor ecx, ecx
jmp 0x18017d2c0
mov r8d, 0x8000
mov rdx, r12
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
xor ebp, ebp
mov ebx, ebp
test eax, eax
setne bl
add ebx, 4
jmp 0x18017d389
mov ebx, 3
jmp 0x18017d389
mov eax, dword [rsp + 0x34]
mov ebx, 3
jmp 0x18017d383
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 1
mov dword [rdi + 0x100], eax
test r15, r15
je 0x18017d396
mov rcx, r15
call fcn.180385c70
mov eax, ebx
jmp 0x18017d39f
mov eax, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180385c10
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18017d7d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbp, r9
mov rbx, r8
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rdx
mov rdi, rcx
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
xor sil, sil
mov ecx, 0x4000
call fcn.180386168
mov r12, rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, 0x4000
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
xor r15d, r15d
cmp qword [rbp + 0x20], r15
jbe 0x18017d9b1
nop
movzx eax, byte [rdi + 0xd8]
test al, al
jne 0x18017d9ae
xor esi, esi
cmp qword [rbx + 8], rsi
jne 0x18017d86e
mov ebx, 0xffffffff
jmp 0x18017d8de
mov dword [rsp + 0x40], esi
add rbx, 0x30
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xchg dword [rbx], eax
lea r9, [rsp + 0x40]
mov rdx, r12
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 8]
call fcn.180199840
test al, al
jne 0x18017d8b5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor edx, edx
mov rcx, qword [rsp + 0x20]
xchg dword [rcx], edx
mov ebx, 0xffffffff
jmp 0x18017d8de
xor ecx, ecx
mov rax, qword [rsp + 0x20]
xchg dword [rax], ecx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [rsp + 0x40]
add r14, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, r13d
cmovne r13d, eax
mov ebx, dword [rsp + 0x40]
mov dword [rdi + 0x100], esi
movzx eax, byte [rdi + 0xd8]
test al, al
jne 0x18017d9ae
cmp ebx, 0xffffffff
je 0x18017d9ae
test ebx, ebx
je 0x18017d93b
mov dword [rsp + 0x44], 0
mov rsi, qword [rsp + 0x30]
mov rax, qword [rsi]
lea r9, [rsp + 0x44]
mov r8d, ebx
mov rdx, r12
mov rcx, rsi
call qword [rax]
test al, al
je 0x18017d92a
cmp dword [rsp + 0x44], ebx
je 0x18017d966
mov sil, 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 0x100], eax
jmp 0x18017d9b1
cmp byte [rbp + 0x30], 0
jne 0x18017d9ae
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x18017d958
mov edx, 0x3e8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movzx eax, byte [rdi + 0xd8]
test al, al
jne 0x18017d9ae
inc r15d
cmp r15d, 0xf
ja 0x18017d9ae
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x18017d999
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
cmp rdx, 0xffffffffffffffff
je 0x18017d989
add rdx, rax
mov r8d, r14d
add r8, rax
mov rax, qword [rcx]
call qword [rax + 0x10]
test al, al
je 0x18017d9a9
cmp r14, qword [rbp + 0x20]
jae 0x18017d9ae
mov rbx, qword [rsp + 0x28]
jmp 0x18017d850
mov sil, 1
jmp 0x18017d9b1
xor sil, sil
mov qword [rsp + 0x48], 0
test r12, r12
je 0x18017d9c7
mov rcx, r12
call fcn.180385c70
mov qword [rdi + 0x108], r14
cmp r14, qword [rbp + 0x20]
sete al
test sil, sil
je 0x18017d9e7
xor al, al
movzx ecx, byte [rdi + 0xd8]
test cl, cl
jne 0x18017d9f6
movzx eax, al
mov ecx, 1
cmp byte [rbp + 0x30], 0
cmovne eax, ecx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180385c10
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x180180b30
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, r8
mov rbx, rdx
mov r8, rdx
lea rdx, [rbp - 0x30]
call fcn.1801816c0
nop
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
xor r14d, r14d
mov qword [rbp - 0x50], r14
mov word [rbp - 0x48], ax
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18015a2f0
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x40], rax
mov byte [rbp - 0x38], r14b
mov rcx, qword [rbp - 0x50]
test rcx, rcx
jne 0x180180bb8
xor dil, dil
jmp 0x180180bd6
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x180180bcf
xor dil, dil
jmp 0x180180bd6
mov byte [rbp - 0x48], 1
mov dil, 1
mov byte [rbp - 0x38], dil
mov byte [rbp - 0x60], 0
lea r9, [rbp - 0x60]
mov r8, rsi
mov rdx, rbx
call fcn.180180cc0
test al, al
jne 0x180180c0a
cmp byte [rbp - 0x60], al
je 0x180180c0a
cmp qword [rbx + 0x18], 8
jb 0x180180c00
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
test dil, dil
je 0x180180c22
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x180180c1e
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp - 0x48], 0
mov qword [rbp - 0x40], r14
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x180180c39
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x50], r14
mov word [rbp - 0x48], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x180180c82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180180c7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180180c7d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
movdqa xmm0, xmmword [0x1803e6740]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], r14w
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180385c10
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x1801828f0
Capabilities:
Check os version

Disassembly:
push rbx
sub rsp, 0x150
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x140], rax
xor eax, eax
mov dword [rsp + 0x20], VarUI4FromDisp
mov qword [rcx + 8], rax
mov rbx, rcx
mov qword [rcx + 0x10], rax
xor edx, edx
mov qword [rcx + 0x18], rax
mov r8d, VarUI4FromDisp
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
mov qword [rcx + 0x48], rax
mov qword [rcx + 0x50], rax
mov byte [rcx], al
lea rcx, [rsp + 0x24]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
mov rax, rbx
je 0x180182970
cmp dword [rsp + 0x24], 6
jb 0x180182970
mov byte [rbx], 1
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.180385c10
add rsp, 0x150
pop rbx
ret
Function at 0x1801834f0
Capabilities:
Get disk information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xb8], rbx
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov ebp, r8d
mov r14, rdx
mov r15, rcx
xor r12d, r12d
mov qword [rsp + 0x48], r12
mov ebx, r12d
mov qword [rsp + 0x48], rbx
lea r13, [r12 - 1]
cmp r8d, 0x3fe
jbe 0x1801835c3
lea ecx, [rbp + 2]
mov eax, 2
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.180386168
mov r14, rax
mov rbx, rax
mov qword [rsp + 0x48], rax
mov rdx, rax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x18018358f
cmp eax, ebp
ja 0x18018358f
mov ecx, eax
mov word [rbx + rcx*2], r12w
lea ecx, [rax + 1]
mov word [rbx + rcx*2], r12w
mov ebp, eax
jmp 0x1801835f2
test r14, r14
je 0x18018359c
mov rcx, r14
call fcn.180385c70
xor al, al
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180385c10
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rbp
add rax, rax
cmp rax, 0x800
jae 0x180183726
mov word [rax + rdx], r12w
lea ecx, [rbp + 1]
add rcx, rcx
cmp rcx, 0x800
jae 0x180183720
mov word [rcx + rdx], r12w
mov eax, r12d
mov edi, r12d
test ebp, ebp
je 0x180183705
mov rsi, r14
cmp word [rsi], 0
jne 0x1801836f7
cmp eax, edi
je 0x1801836f7
lea rdx, [r14 + rax*2]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], r12w
mov r8, r13
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180183640
lea rcx, [rsp + 0x20]
call fcn.180004e70
nop
mov rdx, qword [r15 + 8]
cmp qword [r15 + 0x10], rdx
je 0x180183694
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], r12
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rdx + 0x10], xmm1
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], r12w
add qword [r15 + 8], 0x20
jmp 0x1801836a2
lea r8, [rsp + 0x20]
mov rcx, r15
call fcn.18006c920
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1801836e0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801836db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180183719
call fcn.180385c70
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], r12w
lea eax, [rdi + 1]
inc edi
add rsi, 2
cmp edi, ebp
jb 0x180183603
test rbx, rbx
je 0x180183712
mov rcx, rbx
call fcn.180385c70
mov al, 1
jmp 0x18018359e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386298
int3
call fcn.180386298
int3
Function at 0x180185f00
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x60
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rsi
xor ebx, ebx
cmp qword [rcx + 0x20], 0xffffffffffffffff
mov r14, r9
mov qword [rsp + 0x50], rdi
mov rsi, rdx
mov qword [rsp + 0x40], r15
mov edi, r8d
mov r15, rcx
mov ebp, ebx
jne 0x180185f45
mov ebx, 1
jmp 0x180185f96
mov qword [rsp + 0x48], r12
mov r12d, 0x100000
mov rcx, qword [r15 + 0x20]
lea r9, [rsp + 0x30]
mov r8d, edi
mov dword [rsp + 0x30], ebx
cmp edi, r12d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
cmova r8d, r12d
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rsp + 0x30]
add ebp, ecx
test eax, eax
je 0x180185f8c
test ecx, ecx
je 0x180185f91
add rsi, rcx
sub edi, ecx
jne 0x180185f50
jmp 0x180185f91
mov ebx, 1
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov eax, ebx
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
test r14, r14
je 0x180185faf
mov dword [r14], ebp
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180385c10
add rsp, 0x60
pop r14
pop rbp
pop rbx
ret
Function at 0x180189b60
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x30
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdi, rdx
cmp rcx, 0xffffffffffffffff
je 0x180189bbe
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180189ba9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180189bbe
mov ecx, dword [rsp + 0x20]
mov rax, rbx
shl rcx, 0x20
mov al, 1
add rcx, rbx
mov qword [rdi], rcx
jmp 0x180189bc0
xor al, al
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.180385c10
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret

Function at 0x180189d10
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rcx, qword [rcx + 0x28]
mov rbx, r9
mov edi, r8d
test rcx, rcx
jne 0x180189d36
xor al, al
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
test rdx, rdx
je 0x180189d29
mov rcx, qword [rcx]
cmp rcx, 0xffffffffffffffff
je 0x180189d29
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x180189d29
cmp edi, dword [rbx]
mov rbx, qword [rsp + 0x40]
sete al
add rsp, 0x30
pop rdi
ret
Function at 0x1801a8350
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov ebp, r8d
mov r14, rdx
mov rsi, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], 0xf
mov byte [rcx], dil
mov dword [rsp + 0x20], 1
mov ebx, edi
test r8d, r8d
je 0x1801a8571
mov ecx, edi
nop word [rax + rax]
dec ebp
movzx eax, byte [r14]
mov byte [rsp + rcx + 0x80], al
inc ebx
inc rcx
lea r14, [r14 + 1]
movzx r13d, byte [rsp + 0x82]
movzx r15d, byte [rsp + 0x81]
movzx r12d, byte [rsp + 0x80]
cmp rcx, 3
jne 0x1801a8479
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x88], al
movzx ecx, r12b
and cl, 3
shl cl, 4
movzx eax, r15b
shr al, 4
add cl, al
mov byte [rsp + 0x89], cl
movzx ecx, r15b
and cl, 0xf
shl cl, 2
movzx eax, r13b
shr al, 6
add cl, al
mov byte [rsp + 0x8a], cl
movzx eax, r13b
and al, 0x3f
mov byte [rsp + 0x8b], al
mov rbx, rdi
nop dword [rax]
lea rcx, [0x1804cc7d0]
cmp qword [0x1804cc7e8], 0x10
cmovae rcx, qword [0x1804cc7d0]
movzx eax, byte [rsp + rbx + 0x88]
movzx edx, byte [rax + rcx]
mov rcx, rsi
call fcn.180005060
inc rbx
cmp rbx, 4
jl 0x1801a8440
mov ebx, edi
mov rcx, rdi
test ebp, ebp
jne 0x1801a83b0
test ebx, ebx
je 0x1801a8571
movsxd rax, ebx
cmp rax, 3
jge 0x1801a84c4
jae 0x1801a8589
mov byte [rsp + rax + 0x80], 0
inc rax
cmp rax, 3
jl 0x1801a8492
movzx r13d, byte [rsp + 0x82]
movzx r15d, byte [rsp + 0x81]
movzx r12d, byte [rsp + 0x80]
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x88], al
and r12b, 3
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rsp + 0x89], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, r13b
shr al, 6
add r15b, al
mov byte [rsp + 0x8a], r15b
and r13b, 0x3f
mov byte [rsp + 0x8b], r13b
lea eax, [rbx + 1]
movsxd rbp, eax
test eax, eax
jle 0x1801a8553
nop dword [rax]
lea rcx, [0x1804cc7d0]
cmp qword [0x1804cc7e8], 0x10
cmovae rcx, qword [0x1804cc7d0]
movzx eax, byte [rsp + rdi + 0x88]
movzx edx, byte [rax + rcx]
mov rcx, rsi
call fcn.180005060
inc rdi
cmp rdi, rbp
jl 0x1801a8520
cmp ebx, 3
jge 0x1801a8571
mov eax, 3
sub eax, ebx
mov ebx, eax
mov dl, 0x3d
mov rcx, rsi
call fcn.180005060
sub rbx, 1
jne 0x1801a8561
mov rax, rsi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180386298
int3
Function at 0x1801abc20
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rdi
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rdx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x10], eax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rbx + 8], rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x1801abddb
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x38]
call fcn.1801a6420
nop
cmp qword [rbp - 0x28], 0
jne 0x1801abccf
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1801abcc8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801abcc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801abcc3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
xor ebx, ebx
jmp 0x1801abdcb
lea rcx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rcx, qword [rbp - 0x38]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1801abd88
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp - 0x18], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x18]
lea r8d, [rbx + 8]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1801abdcb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801abdc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801abdc6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1801abdcb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801abdc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801abdc6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], bx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180385c10
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x1801ad320
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rdi
sub rsp, 0x80
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, rdx
mov r8, rcx
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x1801ad4c2
mov dword [rsp + 0x50], 0x2d2d4352
mov dword [rsp + 0x54], 0xf7babac9
mov dword [rsp + 0x58], 0x61726f43
mov dword [rsp + 0x5c], 0x776f7242
mov dword [rsp + 0x60], 0x2d756e45
mov dword [rsp + 0x64], 0x61746144
mov dword [rsp + 0x68], 0x37313630
mov dword [rsp + 0x6c], 0x30313032
movdqa xmm2, xmmword [0x1803e67d0]
xor eax, eax
mov ecx, 1
movd xmm3, ecx
lea rcx, [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movdqu xmm0, xmmword [rcx]
pslld xmm0, xmm3
paddd xmm1, xmm0
movdqu xmmword [rcx], xmm1
add eax, 4
lea rcx, [rcx + 0x10]
cmp eax, 8
jl 0x1801ad3c0
mov rax, qword [rdx]
mov qword [rdx + 8], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
xor ebx, ebx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov rdx, qword [r8]
mov rax, qword [r8 + 8]
sub rax, rdx
test rdx, rdx
je 0x1801ad473
lea r9, [rsp + 0x38]
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.180199ed0
mov rbx, qword [rsp + 0x38]
test al, al
je 0x1801ad473
cmp rbx, qword [rsp + 0x40]
je 0x1801ad473
mov rdx, rdi
mov ecx, 0xa
call fcn.1801b2d70
mov ecx, dword [rsp + 0x40]
sub ecx, ebx
mov rdx, rdi
call fcn.1801b2d70
mov r9, qword [rsp + 0x40]
mov r8, rbx
mov rdx, qword [rdi + 8]
mov rcx, rdi
call fcn.18016b7d0
nop
test rbx, rbx
je 0x1801ad4c2
mov rdx, qword [rsp + 0x48]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801ad4a8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801ad4a8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180385c70
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.180385c10
mov rbx, qword [rsp + 0xa0]
add rsp, 0x80
pop rdi
ret
Function at 0x1801ad4e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rcx]
mov r10, rcx
mov rcx, qword [rcx + 8]
mov rdi, r8
mov rbx, rdx
cmp rax, rcx
je 0x1801ad6e5
mov rdx, qword [rdx]
sub rcx, rax
cmp rdx, rcx
jae 0x1801ad6e5
lea rax, [rdx + 5]
cmp rax, rcx
ja 0x1801ad6e5
lea r8, [rdx + 1]
mov qword [rbx], r8
mov rax, qword [r10]
cmp byte [rdx + rax], 2
jne 0x1801ad6e5
lea rcx, [r8 + 1]
mov qword [rbx], rcx
lea rdx, [rcx + 1]
mov rax, qword [r10]
movzx r9d, byte [rax + r8]
lea r8, [rdx + 1]
mov qword [rbx], rdx
mov rax, qword [r10]
shl r9d, 0x18
movzx ecx, byte [rcx + rax]
mov qword [rbx], r8
mov rax, qword [r10]
shl ecx, 0x10
or r9d, ecx
movzx ecx, byte [rax + rdx]
lea rdx, [r8 + 1]
mov qword [rbx], rdx
mov r11, qword [r10]
shl ecx, 8
or r9d, ecx
movzx eax, byte [r11 + r8]
or r9d, eax
cmp r9d, 0xa
jne 0x1801ad6e5
mov rcx, qword [r10 + 8]
lea rax, [rdx + 5]
sub rcx, r11
cmp rax, rcx
ja 0x1801ad6e5
lea r8, [rdx + 1]
mov qword [rbx], r8
mov rax, qword [r10]
cmp byte [rdx + rax], 2
jne 0x1801ad6e5
lea rcx, [r8 + 1]
mov qword [rbx], rcx
lea rdx, [rcx + 1]
mov rax, qword [r10]
movzx r11d, byte [rax + r8]
lea r8, [rdx + 1]
mov qword [rbx], rdx
mov rax, qword [r10]
shl r11d, 0x18
movzx ecx, byte [rax + rcx]
mov qword [rbx], r8
mov rax, qword [r10]
shl ecx, 0x10
or r11d, ecx
movzx ecx, byte [rax + rdx]
shl ecx, 8
or r11d, ecx
lea rcx, [r8 + 1]
mov qword [rbx], rcx
mov rdx, qword [r10]
movzx eax, byte [rdx + r8]
or r11d, eax
mov rax, qword [r10 + 8]
sub rax, rcx
mov esi, r11d
sub rax, rdx
cmp rsi, rax
ja 0x1801ad6e5
movdqa xmm2, xmmword [0x1803e67d0]
mov ecx, 1
mov dword [rsp + 0x20], 0x2d2d4352
xor eax, eax
mov dword [rsp + 0x24], 0xf7babac9
mov dword [rsp + 0x28], 0x61726f43
movd xmm3, ecx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x2c], 0x776f7242
mov dword [rsp + 0x30], 0x2d756e45
mov dword [rsp + 0x34], 0x61746144
mov dword [rsp + 0x38], 0x37313630
mov dword [rsp + 0x3c], 0x30313032
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
lea rcx, [rcx + 0x10]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
pslld xmm0, xmm3
paddd xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp eax, 8
jl 0x1801ad680
mov rax, qword [rdi]
mov qword [rdi + 8], rax
mov rcx, qword [rbx]
mov rax, qword [r10]
lea rdx, [rcx + rax]
test rdx, rdx
jne 0x1801ad6ca
xor al, al
add rcx, rsi
mov qword [rbx], rcx
jmp 0x1801ad6e7
mov r9, rdi
lea rcx, [rsp + 0x20]
mov r8d, r11d
call fcn.18019a340
mov rcx, qword [rbx]
add rcx, rsi
mov qword [rbx], rcx
jmp 0x1801ad6e7
xor al, al
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.180385c10
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret