joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140027de0
Capabilities:
Clear file content

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
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001b784
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001b784
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x140027f30
cmp rax, 0xffffffffffffffff
je 0x140027f30
xor edi, edi
test rbp, rbp
jle 0x140027edb
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001dd70
mov rbx, rax
test rax, rax
jne 0x140027e68
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x140027ed1
mov edx, 0x8000
mov ecx, r14d
call fcn.140015928
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001c460
cmp eax, 0xffffffff
je 0x140027eb1
cdqe
sub rbp, rax
test rbp, rbp
jg 0x140027e78
mov edx, r15d
mov ecx, r14d
call fcn.140015928
jmp 0x140027ed1
cmp byte [rsi + 0x38], dil
je 0x140027ec8
cmp dword [rsi + 0x34], 5
jne 0x140027ec8
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x140027ed1
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.140019e48
jmp 0x140027f44
jns 0x140027f44
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001b784
cmp rax, 0xffffffffffffffff
jne 0x140027efc
cmp byte [rsi + 0x30], dil
je 0x140027f44
mov edi, dword [rsi + 0x2c]
jmp 0x140027f44
mov ecx, r14d
call fcn.140016f28
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x140027f44
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x140027f44
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140027f3d
mov eax, dword [rsi + 0x2c]
jmp 0x140027f42
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001b784
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x140e53ea4
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140e53eae
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x140e53ed7
pop rbp
sub rbp, 0x33
sub rbp, 0xe53ea4
sub rsp, 0x20
jmp 0x140e53ef6
mov rax, 0xe53ea4
add rax, rbp
add rax, 0x84
mov rcx, 0x60b
mov rdx, 0xffffffffd1a753a2
xor byte [rax], dl
inc rax
dec rcx
jne 0x140e53f15
jmp 0x140e53f2c
invalid
Function at 0x180001020
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x330
mov rbx, rcx
cmp edx, 1
jne 0x180001170
xor r8d, r8d
mov edx, 0x96000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x18002aad8], rax
call fcn.18000cd10
mov rcx, rbx
mov qword [0x180029f68], rbx
mov dword [0x180029f60], 1
call fcn.18001ad38
mov edx, 0x288
lea rcx, [0x180023dd0]
mov r8d, 5
call fcn.18000cc58
xor r8d, r8d
mov qword [str.P_t9F], rax
mov edx, 0x1d0
lea rcx, [0x180023f20]
call fcn.18000cc58
mov ecx, 0x113a
mov qword [0x180029f50], rax
call fcn.18000dae4
mov rcx, rax
mov qword [rsp + 0x358], rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea rcx, [rsp + 0x358]
cmp eax, 0xffffffff
je 0x1800010db
call fcn.18000da80
xor eax, eax
jmp 0x18000115f
call fcn.18000da80
xor ebx, ebx
mov edi, 0x14
movzx eax, word [0x18002400c]
lea rcx, [rsp + 0x33]
mov word [rsp + 0x30], ax
xor edx, edx
mov al, byte [0x18002400e]
mov r8d, 0xfd
mov byte [rsp + 0x32], al
call sub.msvcrt.dll_memset
xor edx, edx
mov word [rsp + 0x130], bx
mov r8d, 0x1fe
lea rcx, [rsp + 0x132]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x130]
mov dword [rsp + 0x28], 0xff
or r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
sub rdi, 1
jne 0x1800010e7
mov eax, 1
mov rbx, qword [rsp + 0x340]
add rsp, 0x330
pop rdi
ret
test edx, edx
jne 0x18000115a
mov rax, qword [str.P_t9F]
mov ecx, 0xaa
call qword [rax + 0x178]
jmp 0x1800010d4
Function at 0x1800011b4
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
push rsi
push rdi
push r14
sub rsp, 0x40
mov rcx, qword [0x18002aad8]
xor ebx, ebx
test rcx, rcx
jne 0x1800011d3
mov edi, ebx
jmp 0x1800011e5
mov edx, 8
lea r8d, [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov rcx, qword [0x180029fc0]
cmp word [rcx + 0x242], 0x3a
jne 0x18000122a
movzx eax, word [rcx + 0x240]
mov word [rsp + 0x20], ax
movzx eax, word [rcx + 0x242]
mov word [rsp + 0x22], ax
movzx eax, word [rcx + 0x244]
lea rcx, [rsp + 0x20]
mov word [rsp + 0x24], ax
mov word [rsp + 0x26], bx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov qword [rdi], 2
lea r14, [rdi + 8]
call fcn.1800032f8
mov ecx, 0x78c
mov qword [r14], rax
call fcn.18000dae4
mov rcx, qword [0x180029fc0]
xor r8d, r8d
add rcx, 0x240
mov qword [rsp + 0x68], rax
mov rdx, rax
call fcn.18000d2dc
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rsi, rax
call fcn.18000da80
mov rax, qword [str.P_t9F]
mov rcx, rsi
call qword [rax + 0x110]
cmp eax, 0xffffffff
je 0x1800012ba
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.180015454
test rax, rax
jne 0x1800012a3
mov rax, rbx
jmp 0x1800012ab
mov rcx, rax
call fcn.18000f744
lea rsi, [rdi + 0x10]
mov dword [rdi], 3
mov qword [rsi], rax
jmp 0x1800012be
lea rsi, [rdi + 0x10]
mov rdx, 0xfffffffffffffffe
lea rcx, [rsp + 0x70]
call fcn.18000c7c0
mov rcx, qword [r14]
test rcx, rcx
je 0x180001300
mov r8d, dword [rcx]
mov eax, ebx
test r8d, r8d
je 0x180001300
mov rdx, qword [rcx + 8]
mov ecx, eax
add rcx, rcx
cmp dword [rdx + rcx*8], 0x3b
je 0x1800012f9
inc eax
cmp eax, r8d
jb 0x1800012e5
jmp 0x180001300
cmp qword [rdx + rcx*8 + 8], rbx
jne 0x18000130e
call fcn.1800031cc
test eax, eax
je 0x18000130e
or ebx, 0xffffffff
jmp 0x180001316
mov rcx, rdi
call fcn.1800022e4
mov rcx, r14
call fcn.18000f860
mov rcx, rsi
call fcn.18000f860
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x1800013fc
Capabilities:
Set current directory

Disassembly:
push rbx
sub rsp, 0x60
mov ecx, 0xd29
call fcn.18000daa4
mov rcx, rax
mov qword [rsp + 0x70], rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rax, [0x18002a9fc]
cmp rbx, rax
je 0x180001437
or rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x70]
call fcn.18000c7c0
mov r8, qword [0x180029fc0]
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
mov r8d, dword [r8 + 0xac]
call fcn.18000ec4c
mov qword [0x18002aaf8], rax
test rax, rax
jne 0x18000146c
or eax, 0xffffffff
jmp 0x180001569
call fcn.180017358
mov ecx, 0x31
mov dword [rsp + 0x70], ebx
call fcn.18000f154
test eax, eax
jne 0x1800014bc
mov rax, qword [0x180029fc0]
cmp dword [rax + 0x218], 3
je 0x1800014bc
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea r8, [0x180003108]
mov rax, qword [str.P_t9F]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call qword [rax + 0xf0]
call fcn.180001630
mov dword [0x18002a9e0], eax
test eax, eax
je 0x18000152b
sub eax, 1
je 0x180001534
sub eax, 1
je 0x180001567
cmp eax, 1
jne 0x180001567
mov rax, qword [0x180029fc0]
lea rcx, [rsp + 0x30]
mov edx, dword [rax + 0xac]
add edx, 4
call fcn.1800106f0
lea rcx, [rsp + 0x30]
call fcn.180011098
mov rcx, qword [0x180029fc0]
mov edx, 0x1d4c0
mov ecx, dword [rcx + 0xac]
call fcn.180002ca0
mov qword [0x180029fa0], rax
call fcn.180001338
jmp 0x180001549
call fcn.1800011b4
test eax, eax
js 0x180001567
mov rax, qword [0x180029fc0]
cmp dword [rax + 0xa4], 1
je 0x180001549
call fcn.180017278
mov rax, qword [str.P_t9F]
lea rdx, [0x18000118c]
mov ecx, 1
call qword [rax + 0x230]
call fcn.1800029a4
xor eax, eax
add rsp, 0x60
pop rbx
ret
Function at 0x180009148
Capabilities:
Create directory

Disassembly:
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rsp - 0x9a0]
sub rsp, 0xaa0
and dword [rbp + 0x9d0], 0
lea eax, [rcx - 1]
mov r8, rdx
mov ebx, ecx
cmp eax, 1
jbe 0x18000917b
or eax, 0xffffffff
jmp 0x18000935f
lea rdx, [rbp + 0x9d0]
mov rcx, r8
call fcn.180016354
mov qword [rsp + 0x30], rax
mov rsi, rax
test rax, rax
jne 0x18000919f
lea eax, [rsi - 2]
jmp 0x18000935f
mov rcx, qword [0x180029fc0]
xor edx, edx
add rcx, 0xb0
je 0x1800091c2
cmp byte [rcx], dl
je 0x1800091c2
mov rax, rcx
inc rax
inc edx
cmp byte [rax], 0
jne 0x1800091b8
xor r8d, r8d
call fcn.180013f88
lea rdx, [rbp - 0x30]
lea ecx, [rbx + rax]
call fcn.18001b86c
mov r9d, 0xc
lea rax, [rbp - 0x30]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8d, [r9 - 2]
lea ecx, [r9 - 0xa]
call fcn.18000cdc0
movsxd rcx, eax
lea rdx, [0x180024230]
mov eax, 0x2e
xor r8d, r8d
mov word [rsp + rcx*2 + 0x48], ax
mov rcx, qword [0x180029fc0]
add rcx, 0x458
call fcn.18000d2dc
xor r9d, r9d
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x50]
mov rcx, rax
lea rdx, [0x180024184]
mov rbx, rax
call fcn.18000d2dc
xor edx, edx
mov qword [rsp + 0x40], rax
mov rcx, rbx
mov r15, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rdx, qword [0x180029fc0]
mov r9b, 2
add rdx, 0xb0
mov r8d, 2
mov rcx, r15
call fcn.1800154f8
mov qword [rbp + 0x9e0], rax
mov r14, rax
test rax, rax
jne 0x180009289
lea ebx, [rax - 4]
jmp 0x18000931a
mov r8d, dword [rbp + 0x9d0]
mov rdx, rsi
mov rcx, rax
call fcn.1800158ec
test eax, eax
jns 0x1800092a6
mov ebx, 0xfffffffb
jmp 0x18000931a
lea rcx, [rbp + 0x9e0]
call fcn.180015618
mov rcx, qword [0x180029fc0]
lea r8, [rsp + 0x50]
add rcx, 0x458
lea rdx, [0x180024184]
xor r9d, r9d
call fcn.18000d2dc
mov rdx, rax
mov qword [rbp + 0x9e8], rax
mov rcx, r15
call fcn.18000de84
mov ebx, eax
lea rcx, [rbp + 0x9e8]
mov rdx, 0xfffffffffffffffe
sar ebx, 0x1f
call fcn.18000c7c0
and ebx, 0xfffffff9
jne 0x18000930f
mov ecx, 0x2deb8b96
call fcn.1800089e8
jmp 0x18000932b
test ebx, ebx
jns 0x18000932b
mov r14, qword [rbp + 0x9e0]
test r14, r14
je 0x18000932b
lea rcx, [rbp + 0x9e0]
call fcn.180015618
mov edx, dword [rbp + 0x9d0]
lea rcx, [rsp + 0x30]
call fcn.18000c7c0
mov rdx, 0xfffffffffffffffe
lea rcx, [rsp + 0x38]
call fcn.18000c7c0
mov rdx, 0xfffffffffffffffe
lea rcx, [rsp + 0x40]
call fcn.18000c7c0
mov eax, ebx
add rsp, 0xaa0
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret
Function at 0x18000c3f4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x80
mov rcx, qword [0x18002aad8]
xor ebx, ebx
test rcx, rcx
je 0x18000c4dd
mov esi, 0x126
lea edx, [rbx + 8]
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x18000c4dd
lea rax, [rsp + 0x30]
mov dword [rsp + 0x28], 0x22
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, str.ability
mov ecx, 0x2732
lea edx, [rbx + 0x34]
call qword [sym.imp.KERNEL32.dll_GetNumberFormatA]
test eax, eax
jne 0x18000c476
mov eax, ebx
lea rcx, [rsp + 0x30]
inc eax
inc rcx
cmp eax, 0x14
jb 0x18000c46a
jmp 0x18000c487
mov ecx, ebx
lea rdx, [rsp + 0x30]
inc ecx
inc rdx
cmp ecx, 0x22
jb 0x18000c47d
lea r8, [0x1800281c0]
mov r9, rdi
sub r8, rdi
movabs rax, 0x47ae147ae147ae15
mov rcx, rbx
mul rbx
mov rax, rbx
inc rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0x19
sub rcx, rax
lea rax, [0x180024260]
mov al, byte [rcx + rax]
xor al, byte [r8 + r9]
mov byte [r9], al
inc r9
sub rsi, 1
jne 0x18000c494
mov rax, rdi
jmp 0x18000c4df
xor eax, eax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x18000ca64
Capabilities:
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, 0x60
mov edi, dword [rcx + 0x3c]
mov r15d, edx
mov r10, rcx
mov eax, dword [rdi + rcx + 0x88]
test eax, eax
je 0x18000caec
lea r11, [rcx + rax]
xor esi, esi
mov ebx, dword [r11 + 0x20]
mov ebp, dword [r11 + 0x24]
add rbx, rcx
mov r14d, dword [r11 + 0x1c]
add rbp, rcx
add r14, rcx
cmp dword [r11 + 0x18], esi
jbe 0x18000caec
mov ecx, dword [rbx]
mov edx, 0
add rcx, r10
je 0x18000cace
cmp byte [rcx], dl
je 0x18000cace
mov rax, rcx
inc rax
inc edx
cmp byte [rax], 0
jne 0x18000cac4
xor r8d, r8d
call fcn.180013f88
xor eax, 0xa235cb91
cmp eax, r15d
je 0x18000cb08
inc esi
add rbx, 4
cmp esi, dword [r11 + 0x18]
jb 0x18000cab1
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
movzx ecx, word [rbp + rsi*2]
mov ebx, dword [r14 + rcx*4]
add rbx, r10
cmp rbx, r11
jb 0x18000cbc4
mov eax, dword [rdi + r10 + 0x8c]
add rax, r11
cmp rbx, rax
jae 0x18000cbc4
xor r8d, r8d
lea rcx, [rsp + 0x20]
mov rdx, rbx
lea rax, [rsp + 0x20]
sub rdx, rcx
mov cl, byte [rdx + rax]
cmp cl, 0x2e
je 0x18000cb5e
test cl, cl
je 0x18000cb5e
mov byte [rax], cl
inc r8d
inc rax
cmp r8d, 0x40
jb 0x18000cb44
mov sil, byte [r8 + rbx]
lea eax, [r8 + 1]
mov edi, eax
lea rcx, [rsp + 0x20]
mov byte [rsp + rax + 0x20], 0x64
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x20], 0x6c
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x20], 0x6c
lea eax, [r8 + 4]
mov byte [rsp + rax + 0x20], 0
mov byte [rsp + r8 + 0x20], 0x2e
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x18000caec
test sil, sil
lea rdx, [rdi + rbx]
mov rcx, rax
cmove rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000caec
jmp 0x18000caee
mov rax, rbx
jmp 0x18000caee
Function at 0x18000cc58
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov r10d, r8d
lea r11, [0x180028470]
imul r9, r10, 0x21
xor ebx, ebx
mov dword [rsp + 0x60], 0xa235cb91
mov edi, edx
mov rsi, rcx
mov r8d, ebx
movzx eax, byte [r9 + r11]
test al, al
je 0x18000ccc5
lea r8, [rsp + 0x20]
mov edx, ebx
sub r9, r8
lea rcx, [rsp + 0x20]
add r11, r9
mov r8d, eax
mov r9d, eax
mov rax, rdx
inc rdx
and eax, 3
mov al, byte [rsp + rax + 0x60]
xor al, byte [r11 + rcx + 1]
mov byte [rcx], al
inc rcx
sub r9, 1
jne 0x18000cca8
mov byte [rsp + r8 + 0x20], bl
lea rcx, [rsp + 0x20]
cmp r10d, 5
jne 0x18000ccdd
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
jmp 0x18000cce6
mov rax, qword [str.P_t9F]
call qword [rax]
test rax, rax
je 0x18000ccfb
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.18000cbcc
mov rbx, rax
mov rsi, qword [rsp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x18000d700
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r15
sub rsp, 0x90
lea rax, [rax - 0x78]
mov r10d, r9d
mov r9, qword [rsp + 0xd0]
mov r11, r8
mov qword [rsp + 0x28], rax
mov edi, edx
mov r12, rcx
xor ebx, ebx
mov dword [rax], ebx
mov r8d, r10d
mov eax, dword [rsp + 0xd8]
mov rdx, r11
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.180010ca0
mov qword [rsp + 0x38], rax
mov r15, rax
test rax, rax
jne 0x18000d76c
lea rax, [0x18002a9fc]
jmp 0x18000d860
mov ebp, dword [rsp + 0xe0]
mov esi, ebp
cmp ebp, edi
jae 0x18000d797
lea r8, [r12 + rbp]
xor edx, edx
mov eax, esi
div dword [rsp + 0x30]
mov al, byte [r8]
cmp byte [rdx + r15], al
je 0x18000d7d8
inc esi
inc r8
cmp esi, edi
jb 0x18000d77d
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], 0x22
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, str.chickenfried
mov edx, 0x172
mov ecx, 0xdc
call qword [sym.imp.KERNEL32.dll_GetNumberFormatA]
test eax, eax
jne 0x18000d839
lea rax, [rsp + 0x40]
inc ebx
inc rax
cmp ebx, 0x14
jb 0x18000d7cc
jmp 0x18000d848
sub esi, ebp
je 0x18000d797
mov rcx, qword [0x18002aad8]
test rcx, rcx
je 0x18000d826
lea r8d, [rsi + 1]
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x18000d826
mov r8, rax
mov r9d, esi
xor edx, edx
mov eax, ebp
div dword [rsp + 0x30]
mov al, byte [rdx + r15]
xor al, byte [rbp + r12]
inc ebp
mov byte [r8], al
inc r8
sub r9, 1
jne 0x18000d805
jmp 0x18000d84f
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.18000c7c0
jmp 0x18000d760
lea rcx, [rsp + 0x40]
inc ebx
inc rcx
cmp ebx, 0x22
jb 0x18000d83e
lea rdi, [0x18002a9fc]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.18000c7c0
mov rax, rdi
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r12
pop rdi
ret
Function at 0x18000d880
Capabilities:
Encode data using xor

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 r13
push r14
lea rbp, [rax - 0x47]
sub rsp, 0x90
lea rax, [rbp - 0x31]
mov r10d, r9d
mov r9, qword [rbp + 0x6f]
mov r11, r8
mov qword [rsp + 0x28], rax
mov edi, edx
mov eax, dword [rbp + 0x77]
mov r13, rcx
xor ebx, ebx
mov dword [rsp + 0x20], eax
mov r8d, r10d
mov dword [rbp - 0x31], ebx
mov rdx, r11
xor ecx, ecx
mov r14d, ebx
call fcn.180010ca0
mov qword [rbp - 0x29], rax
mov r12, rax
test rax, rax
jne 0x18000d8ef
lea rax, [0x18002aa3c]
jmp 0x18000da3d
mov esi, dword [rbp + 0x7f]
mov r8d, esi
cmp esi, edi
jae 0x18000d921
lea r9, [rsi + r13]
xor edx, edx
mov eax, r8d
div dword [rbp - 0x31]
mov al, byte [r9]
cmp byte [rdx + r12], al
je 0x18000d91b
inc r8d
inc r9
cmp r8d, edi
jb 0x18000d8fd
jmp 0x18000d921
mov r14d, r8d
sub r14d, esi
lea rax, [rbp - 0x21]
mov edi, 0x22
mov dword [rsp + 0x28], edi
lea r8, str.electricmadness
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov edx, 0xb4
mov ecx, 0x7d3
call qword [sym.imp.KERNEL32.dll_GetNumberFormatA]
test eax, eax
jne 0x18000d965
mov eax, ebx
lea rcx, [rbp - 0x21]
mov byte [rcx], al
inc eax
inc rcx
cmp eax, 0x14
jb 0x18000d957
jmp 0x18000d979
mov ecx, ebx
lea rdx, [rbp - 0x21]
lea eax, [rcx + 0xa]
inc ecx
mov byte [rdx], al
inc rdx
cmp ecx, edi
jb 0x18000d96b
test r14d, r14d
je 0x18000d9df
mov rcx, qword [0x18002aad8]
test rcx, rcx
je 0x18000d9ce
lea r8d, [r14 + 1]
mov edx, 8
add r8, r8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x18000d9ce
mov r8, rax
mov r9d, r14d
xor edx, edx
mov eax, esi
div dword [rbp - 0x31]
mov al, byte [rdx + r12]
xor al, byte [rsi + r13]
inc esi
movzx eax, al
mov word [r8], ax
lea r8, [r8 + 2]
sub r9, 1
jne 0x18000d9aa
jmp 0x18000da2e
mov edx, dword [rbp - 0x31]
lea rcx, [rbp - 0x29]
call fcn.18000c7c0
jmp 0x18000d8e3
lea rax, [rbp - 0x21]
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, str.chickenfried
mov edx, 0x172
mov ecx, 0xdc
call qword [sym.imp.KERNEL32.dll_GetNumberFormatA]
test eax, eax
jne 0x18000da1a
lea rax, [rbp - 0x21]
inc ebx
inc rax
cmp ebx, 0x14
jb 0x18000da0e
jmp 0x18000da27
lea rcx, [rbp - 0x21]
inc ebx
inc rcx
cmp ebx, edi
jb 0x18000da1e
lea rdi, [0x18002aa3c]
mov edx, dword [rbp - 0x31]
lea rcx, [rbp - 0x29]
call fcn.18000c7c0
mov rax, rdi
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop rbp
ret
Function at 0x18000db24
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x10], rdx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
mov rdi, rdx
xor r8d, r8d
lea rdx, [0x180024390]
mov r14d, r9d
mov r13, rcx
call fcn.18000d2dc
xor ebx, ebx
mov qword [rsp + 0x58], rax
test rax, rax
je 0x18000dd1f
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rbp + 0x210], rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x18000dd0e
mov r12d, dword [rbp + 0x220]
mov r15d, dword [rbp + 0x218]
cmp word [rbp - 0x74], 0x2e
jne 0x18000dbca
movzx eax, word [rbp - 0x72]
test ax, ax
je 0x18000dce8
cmp ax, 0x2e
jne 0x18000dbca
cmp word [rbp - 0x70], bx
je 0x18000dce8
mov eax, dword [rsp + 0x60]
test al, 0x10
je 0x18000dbda
test r14b, 2
jne 0x18000dbe0
jmp 0x18000dc4f
test r14b, 4
je 0x18000dc4f
mov r15, qword [rbp + 0x208]
mov rsi, qword [rbp + 0x200]
mov rax, qword [0x180029fd0]
lea rcx, [rbp - 0x74]
mov rdx, qword [rdi]
call qword [rax + 0x30]
test eax, eax
je 0x18000dc29
mov r8, r15
lea rdx, [rsp + 0x60]
mov rcx, r13
call rsi
test eax, eax
je 0x18000dc34
test r12d, r12d
je 0x18000dc29
mov rax, qword [str.P_t9F]
mov ecx, r12d
call qword [rax + 0x188]
inc ebx
add rdi, 8
cmp ebx, 1
jb 0x18000dbee
mov eax, dword [rsp + 0x60]
xor ebx, ebx
mov rsi, qword [rbp + 0x210]
mov r15d, dword [rbp + 0x218]
mov rdi, qword [rbp + 0x1e8]
test al, 0x10
je 0x18000dce8
test r14b, 1
je 0x18000dce8
xor r9d, r9d
lea r8, [rbp - 0x74]
lea rdx, [0x180024184]
mov rcx, r13
call fcn.18000d2dc
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
je 0x18000dce6
test r15d, r15d
je 0x18000dc99
mov rax, qword [str.P_t9F]
mov ecx, r15d
call qword [rax + 0x188]
mov rax, qword [rbp + 0x208]
mov r9d, r14d
mov dword [rsp + 0x40], r12d
mov r8d, 1
mov dword [rsp + 0x38], r15d
mov rdx, rdi
and qword [rsp + 0x30], 0
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x200]
mov qword [rsp + 0x20], rax
call fcn.18000db24
mov rdx, 0xfffffffffffffffe
lea rcx, [rsp + 0x50]
call fcn.18000c7c0
xor ebx, ebx
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x18000dba6
mov rax, qword [str.P_t9F]
mov rcx, rsi
call qword [rax + 0x108]
mov rdx, 0xfffffffffffffffe
lea rcx, [rsp + 0x58]
call fcn.18000c7c0
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret