joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140014530
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rdi, rcx
lea r8, [rcx + 0x15]
lea rcx, [rsp]
mov r9d, 0x10
sub rcx, rdi
nop word [rax + rax]
movzx eax, byte [r8]
movzx edx, byte [r8 - 1]
lea r8, [r8 + 4]
shl edx, 8
or edx, eax
movzx eax, byte [r8 - 3]
shl edx, 8
or edx, eax
movzx eax, byte [r8 - 2]
shl edx, 8
or edx, eax
mov dword [rcx + r8 - 0x19], edx
sub r9, 1
jne 0x140014580
lea rdx, [rsp + 8]
lea r8d, [r9 + 0x40]
nop word [rax + rax]
mov eax, dword [rdx + 0x2c]
xor eax, dword [rdx + 0x18]
xor eax, dword [rdx - 8]
xor eax, dword [rdx]
lea rdx, [rdx + 4]
mov ecx, eax
add eax, eax
shr ecx, 0x1f
xor ecx, eax
mov dword [rdx + 0x34], ecx
sub r8, 1
jne 0x1400145c0
mov r14d, dword [rdi]
xor r9d, r9d
mov r15d, dword [rdi + 4]
mov esi, r14d
mov r12d, dword [rdi + 8]
mov edx, r15d
mov r13d, dword [rdi + 0xc]
mov r8d, r12d
mov ebp, dword [rdi + 0x10]
mov r10d, r13d
cmp r9, 0x14
jae 0x14001461e
mov eax, edx
mov ecx, r8d
not eax
and ecx, edx
and eax, r10d
mov r11d, 0x5a827999
or eax, ecx
jmp 0x140014657
cmp r9, 0x28
jae 0x14001462c
mov r11d, 0x6ed9eba1
jmp 0x14001464f
cmp r9, 0x3c
jae 0x140014649
mov eax, r8d
mov ecx, r8d
or eax, edx
and ecx, edx
and eax, r10d
mov r11d, 0x8f1bbcdc
or eax, ecx
jmp 0x140014657
mov r11d, 0xca62c1d6
mov eax, r10d
xor eax, r8d
xor eax, edx
mov ebx, esi
mov ecx, esi
shr ebx, 0x1b
shl ecx, 5
xor ebx, ecx
add ebx, dword [rsp + r9*4]
inc r9
add ebx, r11d
add ebx, eax
add ebx, ebp
mov ebp, r10d
mov r10d, r8d
mov r8d, edx
shr edx, 2
shl r8d, 0x1e
xor r8d, edx
mov edx, esi
mov esi, ebx
cmp r9, 0x50
jb 0x140014602
add dword [rdi + 0x10], ebp
lea eax, [r14 + rbx]
mov dword [rdi], eax
lea eax, [r15 + rdx]
mov dword [rdi + 4], eax
lea eax, [r12 + r8]
mov dword [rdi + 8], eax
lea eax, [r10 + r13]
mov dword [rdi + 0xc], eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1401dd140
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret

Function at 0x140017620
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov dword [rcx], 0x1571
mov qword [rcx + 0x9c0], 1
mov rax, qword [rcx + 0x9c0]
mov edx, dword [rcx + rax*4 - 4]
lea r8, [rcx + rax*4]
shr edx, 0x1e
xor edx, dword [r8 - 4]
imul eax, edx, 0x6c078965
add eax, dword [rcx + 0x9c0]
mov dword [r8], eax
inc qword [rcx + 0x9c0]
cmp qword [rcx + 0x9c0], 0x270
jb 0x140017631
mov eax, dword [rcx + 0x9bc]
xor eax, dword [rcx + 0x630]
jge 0x140017684
xor eax, 0x1908b0df
add eax, eax
or eax, 1
jmp 0x140017686
add eax, eax
and dword [rcx], 0x80000000
btr eax, 0x1f
or dword [rcx], eax
xor eax, eax
cmp dword [rcx + rax*4], 0
jne 0x1400176ab
inc rax
cmp rax, 0x270
jb 0x140017694
mov dword [rcx], 0x80000000
ret
Function at 0x1400189e0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov ebx, r8d
mov edi, edx
mov r11, rcx
sub ebx, edx
jne 0x140018a03
mov eax, edx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp ebx, 0xffffffff
jne 0x140018a1a
call fcn.140018b20
add eax, edi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor edx, edx
mov qword [rsp + 0x30], rsi
or eax, 0xffffffff
lea ecx, [rbx + 1]
div ecx
cmp edx, ebx
lea esi, [rax + 1]
cmovne esi, eax
cmp qword [r11 + 0x9c0], 0x270
jne 0x140018a46
mov rcx, r11
call fcn.140018e00
mov rax, qword [r11 + 0x9c0]
xor edx, edx
mov ecx, dword [r11 + rax*4]
inc rax
mov qword [r11 + 0x9c0], rax
mov eax, ecx
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
div esi
cmp eax, ebx
ja 0x140018a31
mov rsi, qword [rsp + 0x30]
add eax, edi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140018b20
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 0x28
cmp qword [rcx + 0x9c0], 0x270
mov r11, rcx
jne 0x140018b39
call fcn.140018e00
mov rax, qword [r11 + 0x9c0]
mov edx, dword [r11 + rax*4]
inc rax
mov qword [r11 + 0x9c0], rax
mov eax, edx
shr eax, 0xb
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 0x28
ret
Function at 0x140023c70
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x70
mov qword [rax - 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r14, rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
lea ecx, [r15 + 0x10]
call qword [sym.imp.KERNEL32.dll_GetUserGeoID]
mov esi, eax
mov word [rsp + 0x20], r15w
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 + 4]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetGeoInfoW]
movsxd rdi, eax
mov eax, 2
mul rdi
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.1401dd7b8
mov rbp, rax
mov word [rsp + 0x20], r15w
mov r9d, edi
mov r8, rax
lea edx, [rbx + 5]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetGeoInfoW]
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp word [rbp], r15w
jne 0x140023d30
mov ebx, r15d
jmp 0x140023d3b
inc rbx
cmp word [rbp + rbx*2], r15w
jne 0x140023d30
mov r8, rbx
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.140026520
nop
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
lea rbx, [rdx + rax*2]
lea rdi, [rsp + 0x40]
cmovae rdi, qword [rsp + 0x40]
mov qword [r14 + 0x18], 0xf
mov qword [r14 + 0x10], r15
cmp qword [r14 + 0x18], 0x10
jb 0x140023d89
mov rax, qword [r14]
jmp 0x140023d8c
mov rax, r14
mov byte [rax], 0
mov rdx, rbx
sub rdx, rdi
sar rdx, 1
mov rcx, r14
call fcn.140016f10
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.140029460
nop
mov r8, qword [rsp + 0x58]
cmp r8, 8
jb 0x140023dcc
inc r8
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.1400271e0
mov rax, r14
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401dd140
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140023fe0
Capabilities:
Check os version

Disassembly:
push rdi
sub rsp, 0x170
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x188], rbx
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rbx, rcx
mov qword [rsp + 0x30], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
xor edx, edx
mov r8d, 0x114
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x40], 0x114
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140024057
mov rax, qword [rbx]
jmp 0x14002405a
mov rax, rbx
mov byte [rax], dil
xor r8d, r8d
lea rdx, [0x1402b3878]
mov rcx, rbx
call fcn.140003a80
mov dword [rsp + 0x20], 1
mov eax, dword [rsp + 0x44]
cmp eax, 0xa
jne 0x140024089
lea rdx, [0x1402b78c0]
jmp 0x1400240ff
cmp eax, 6
jne 0x1400240d8
mov eax, dword [rsp + 0x48]
cmp eax, 3
jne 0x1400240a3
mov r8d, eax
lea rdx, [0x1402b7894]
jmp 0x140024105
cmp eax, 2
jne 0x1400240b5
lea r8d, [rax - 1]
lea rdx, [0x1402b7898]
jmp 0x140024105
mov rcx, rbx
cmp eax, 1
jne 0x1400240c9
mov r8d, eax
lea rdx, [0x1402b78d0]
jmp 0x140024108
mov r8d, 5
lea rdx, str.vista
jmp 0x140024108
cmp eax, 5
jne 0x14002410d
mov eax, dword [rsp + 0x48]
cmp eax, 2
jne 0x1400240f3
lea r8d, [rax + 4]
lea rdx, str.XP_SP2
jmp 0x140024105
cmp eax, 1
jne 0x14002410d
lea rdx, [0x1402b78cc]
mov r8d, 2
mov rcx, rbx
call fcn.140003ce0
mov rax, rbx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1401dd140
mov rbx, qword [rsp + 0x188]
add rsp, 0x170
pop rdi
ret
Function at 0x1400244f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x1b8]
sub rsp, 0x2a0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rdi, rcx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], 0x1fe
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 1]
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftCryptography
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400246b0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.MachineGuid
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400246b0
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], r14
mov word [rsp + 0x70], r14w
cmp word [rbp - 0x70], r14w
jne 0x1400245bd
mov r8d, r14d
jmp 0x1400245cf
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r14w
jne 0x1400245c5
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.140026520
nop
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rdx, qword [rsp + 0x70]
mov rax, qword [rbp - 0x80]
lea rbx, [rdx + rax*2]
lea rsi, [rsp + 0x70]
cmovae rsi, qword [rsp + 0x70]
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x50], 0
mov rdx, rbx
sub rdx, rsi
sar rdx, 1
lea rcx, [rsp + 0x50]
call fcn.140016f10
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140029460
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
cmp qword [rdi + 0x18], 0x10
jb 0x14002464f
mov rax, qword [rdi]
jmp 0x140024652
mov rax, rdi
mov byte [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140003f50
mov r8, qword [rsp + 0x68]
cmp r8, 0x10
jb 0x14002467f
inc r8
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.140003fe0
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x50], 0
mov r8, qword [rbp - 0x78]
cmp r8, 8
jb 0x1400246e0
inc r8
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.1400271e0
jmp 0x1400246e0
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
cmp qword [rdi + 0x18], 0x10
jb 0x1400246c8
mov rax, qword [rdi]
jmp 0x1400246cb
mov rax, rdi
mov byte [rax], r14b
xor r8d, r8d
lea rdx, [0x1402b3878]
mov rcx, rdi
call fcn.140003a80
mov rax, rdi
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1401dd140
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x1400357b0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, rdx
movzx eax, dl
shr rcx, 1
mov rdi, rdx
and ecx, 4
mov ebx, ecx
or ebx, 2
and al, 4
cmove ebx, ecx
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, ebx
or ecx, 8
and al, 1
movzx eax, dil
cmove ecx, ebx
mov edx, ecx
or edx, 0x10
and al, 1
movzx eax, dil
cmove edx, ecx
mov ecx, edx
or ecx, 0x20
and al, 0x10
cmove ecx, edx
mov ebx, ecx
or ebx, 0x40
and dil, 2
cmove ebx, ecx
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x140035826
bts ebx, 8
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x140035838
or ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14003d2b0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
call fcn.14003d750
xor eax, eax
lea r8, [0x14003ef10]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x28], rax
test rax, rax
je 0x14003d2fa
mov edx, 0xfffffffe
mov rcx, rax
add rsp, 0x30
pop rbx
jmp qword [sym.imp.KERNEL32.dll_SetThreadPriority]
add rsp, 0x30
pop rbx
ret

Function at 0x14003d750
Capabilities:
Terminate process

Disassembly:
push rdi
sub rsp, 0x70
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x88], rbx
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbx, rcx
lea rdx, [rsp + 0x40]
call fcn.14003d640
cmp qword [rax + 0x18], 8
jb 0x14003d78d
mov rax, qword [rax]
add rbx, 0x50
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0
mov r9, rax
xor r8d, r8d
lea rdx, str.ncalrpc
xor ecx, ecx
call qword [sym.imp.RPCRT4.dll_RpcStringBindingComposeW]
mov edi, eax
mov r8, qword [rsp + 0x58]
cmp r8, 8
jb 0x14003d7d3
inc r8
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.1400271e0
test edi, edi
je 0x14003d802
call fcn.1401c9e90
mov rbx, rax
mov qword [rsp + 0x30], rax
lea rcx, str.Error_calling_RpcStringBindingCompose._Terminating...
call fcn.1401cb720
nop
test rbx, rbx
je 0x14003d800
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
jmp 0x14003d83f
lea rdx, [0x140497748]
mov rcx, qword [rbx]
call qword [sym.imp.RPCRT4.dll_RpcBindingFromStringBindingW]
test eax, eax
je 0x14003d850
call fcn.1401c9e90
mov rbx, rax
mov qword [rsp + 0x30], rax
lea rcx, str.Error_calling_RpcBindingFromStringBinding._Terminating...
call fcn.1401cb720
nop
test rbx, rbx
je 0x14003d83f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401dd140
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret
Function at 0x1400427a0
Capabilities:
Create directory

Disassembly:
push rdi
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x88], rbx
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, rcx
xor ebx, ebx
mov dword [rsp + 0x38], ebx
mov rcx, qword [rcx]
mov rax, qword [rdi + 8]
sub rax, rcx
sar rax, 3
cmp rax, 1
jne 0x140042913
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x40]
test al, al
je 0x140042913
mov rax, qword [rdi]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x98]
nop
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.140044570
nop
lea rax, vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140042854
cmp byte [rsp + 0x30], bl
je 0x14004284a
call qword [sym.imp.libcef.dll_cef_string_utf16_clear]
lea edx, [rbx + 0x18]
mov rcx, qword [rsp + 0x28]
call fcn.1401dd1a8
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x48]
call fcn.140045a30
mov rcx, rax
call fcn.140045af0
lea rcx, [rsp + 0x48]
cmp rcx, rax
je 0x140042884
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140026920
cmp qword [rsp + 0x58], 0
jne 0x140042893
mov ebx, 2
jmp case.0x1400428cf.0
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
cmp eax, 0x27
ja case.0x1400428cf.1
cdqe
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x4294c]
mov ecx, dword [rdx + rax*4 + 0x42934]
add rcx, rdx
jmp rcx
mov ebx, 3
jmp case.0x1400428cf.0
mov ebx, 4
jmp case.0x1400428cf.0
mov ebx, 6
jmp case.0x1400428cf.0
mov ebx, 7
jmp case.0x1400428cf.0
mov ebx, 1
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x14004290f
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400271e0
mov eax, ebx
jmp 0x140042918
mov eax, 2
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401dd140
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret
Function at 0x140042980
Capabilities:
Move file

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp - 1], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rbx, rcx
xor edi, edi
mov dword [rbp - 9], edi
mov rcx, qword [rcx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 3
cmp rax, 2
jne 0x140042b8f
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x40]
test al, al
je 0x140042b8f
mov rcx, qword [rbx]
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
call qword [rax + 0x40]
test al, al
je 0x140042b8f
mov rax, qword [rbx]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
call qword [rax + 0x98]
nop
lea rdx, [rbp + 0x27]
mov rcx, rax
call fcn.140044570
nop
lea rsi, vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
mov qword [rbp - 0x39], rsi
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140042a4c
cmp byte [rbp - 0x29], dil
je 0x140042a44
call qword [sym.imp.libcef.dll_cef_string_utf16_clear]
lea edx, [rdi + 0x18]
mov rcx, qword [rbp - 0x31]
call fcn.1401dd1a8
mov qword [rbp - 0x31], rdi
mov byte [rbp - 0x29], 0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
call qword [rax + 0x98]
nop
lea rdx, [rbp + 7]
mov rcx, rax
call fcn.140044570
nop
mov qword [rbp - 0x21], rsi
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140042a9d
cmp byte [rbp - 0x11], 0
je 0x140042a95
call qword [sym.imp.libcef.dll_cef_string_utf16_clear]
mov edx, 0x18
mov rcx, qword [rbp - 0x19]
call fcn.1401dd1a8
mov qword [rbp - 0x19], rdi
mov byte [rbp - 0x11], 0
lea rcx, [rbp + 0x27]
call fcn.140045a30
mov rcx, rax
call fcn.140045af0
lea rcx, [rbp + 0x27]
cmp rcx, rax
je 0x140042aca
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x27]
call fcn.140026920
cmp qword [rbp + 0x37], 0
je 0x140042b42
lea rcx, [rbp + 7]
call fcn.140045a30
mov rcx, rax
call fcn.140045af0
lea rcx, [rbp + 7]
cmp rcx, rax
je 0x140042afe
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 7]
call fcn.140026920
cmp qword [rbp + 0x17], 0
je 0x140042b42
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 8
cmovae rdx, qword [rbp + 7]
lea rcx, [rbp + 0x27]
cmp qword [rbp + 0x3f], 8
cmovae rcx, qword [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x140042b3e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov dl, 1
call fcn.14003f8a0
mov ebx, eax
jmp 0x140042b47
mov ebx, edi
jmp 0x140042b47
mov ebx, 2
mov r8, qword [rbp + 0x1f]
cmp r8, 8
jb 0x140042b61
inc r8
mov rdx, qword [rbp + 7]
lea rcx, [rbp + 7]
call fcn.1400271e0
mov qword [rbp + 0x1f], 7
mov qword [rbp + 0x17], rdi
mov word [rbp + 7], di
mov r8, qword [rbp + 0x3f]
cmp r8, 8
jb 0x140042b8b
inc r8
mov rdx, qword [rbp + 0x27]
lea rcx, [rbp + 0x27]
call fcn.1400271e0
mov eax, ebx
jmp 0x140042b94
mov eax, 2
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1401dd140
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x140043d80
Capabilities:
Delete file

Disassembly:
push rdi
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x88], rbx
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, rcx
xor ebx, ebx
mov dword [rsp + 0x38], ebx
mov rcx, qword [rcx]
mov rax, qword [rdi + 8]
sub rax, rcx
sar rax, 3
cmp rax, 1
jne 0x140043f28
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x40]
test al, al
je 0x140043f28
mov rax, qword [rdi]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x98]
nop
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.140044570
nop
lea rax, vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140043e34
cmp byte [rsp + 0x30], bl
je 0x140043e2a
call qword [sym.imp.libcef.dll_cef_string_utf16_clear]
lea edx, [rbx + 0x18]
mov rcx, qword [rsp + 0x28]
call fcn.1401dd1a8
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x48]
call fcn.140045a30
mov rcx, rax
call fcn.140045af0
lea rcx, [rsp + 0x48]
cmp rcx, rax
je 0x140043e64
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140026920
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140043e76
lea ebx, [rcx + 2]
jmp 0x140043f07
lea rax, [rsp + 0x48]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
cmp r10, 8
cmovae rax, r9
lea rax, [rax + rcx*2]
lea rcx, [rsp + 0x48]
cmovae rcx, r9
mov rdx, rbx
mov r8, rax
sub r8, rcx
inc r8
shr r8, 1
cmp rcx, rax
cmova r8, rbx
test r8, r8
je 0x140043edf
mov eax, 0x5c
nop word [rax + rax]
cmp word [rcx], 0x2f
jne 0x140043ec9
mov word [rcx], ax
add rcx, 2
inc rdx
cmp rdx, r8
jne 0x140043ec0
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
cmp r10, 8
cmovae rcx, r9
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140043f07
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov dl, 1
call fcn.14003f8a0
mov ebx, eax
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x140043f24
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400271e0
mov eax, ebx
jmp 0x140043f2d
mov eax, 2
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401dd140
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret
Function at 0x140047520
Capabilities:
Copy file

Disassembly:
xor r9d, r9d
xor r8d, r8d
jmp fcn.1400d3c60
Function at 0x14008d100
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov rax, qword [rcx + 0x38]
xor edi, edi
mov rbx, rcx
mov rdx, qword [rax + 0x20]
cmp byte [rdx], 0x25
jne 0x14008d26a
mov qword [rsp + 0x40], rsi
call fcn.1400b9930
mov rcx, rbx
call fcn.14008c0a0
mov rsi, rax
test rax, rax
jne 0x14008d15b
lea r8, str.xmlParsePEReference:_no_name_n
mov rcx, rbx
lea edx, [rdi + 0x44]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140081fe0
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3b
mov rcx, rbx
je 0x14008d186
xor r8d, r8d
lea edx, [r8 + 0x17]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140081ab0
call fcn.1400b9930
mov rax, qword [rbx]
inc dword [rbx + 0x2a4]
test rax, rax
je 0x14008d1b2
mov r8, qword [rax + 0xc0]
test r8, r8
je 0x14008d1b2
mov rcx, qword [rbx + 8]
mov rdx, rsi
call r8
mov rdi, rax
cmp dword [rbx + 0x108], 0xffffffff
je 0x14008d265
test rdi, rdi
jne 0x14008d275
cmp dword [rbx + 0x30], 1
je 0x14008d20a
cmp dword [rbx + 0x84], edi
jne 0x14008d1de
cmp dword [rbx + 0x88], edi
je 0x14008d20a
mov r9, rsi
mov qword [rsp + 0x20], 0
lea r8, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov rcx, rbx
call fcn.140092cd0
mov dword [rbx + 0x90], 0
jmp 0x14008d221
mov r9, rsi
lea r8, str.PEReference:____s__not_found_n
mov edx, 0x1a
mov rcx, rbx
call fcn.140082170
test dword [rbx + 0x224], 0x80000
jne 0x14008d25b
mov eax, dword [rbx + 0x24c]
cmp eax, 0x59
je 0x14008d25b
add eax, 0xffffffe6
cmp eax, 1
ja 0x14008d25b
cmp dword [rbx + 0x2a4], 0x2710
jbe 0x14008d25b
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x59]
call fcn.140081ab0
mov dword [rbx + 0x88], 1
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rdi + 0x5c]
sub eax, 4
cmp eax, 1
jbe 0x14008d2a2
mov r9, rsi
mov qword [rsp + 0x20], 0
lea r8, str.Internal:____s__is_not_a_parameter_entity_n
mov edx, 0x1b
mov rcx, rbx
call fcn.140092cd0
jmp 0x14008d25b
mov rax, qword [rbx + 0x38]
lea rcx, [0x140080380]
mov rdx, rdi
cmp qword [rax + 0x40], rcx
mov rcx, rbx
je 0x14008d2cf
call fcn.140082be0
mov rdx, rax
mov rcx, rbx
call fcn.140091e60
test eax, eax
js 0x14008d265
jmp 0x14008d25b
call fcn.1400b9510
mov rdx, rax
mov rcx, rbx
call fcn.140091e60
test eax, eax
js 0x14008d265
cmp dword [rdi + 0x5c], 5
jne 0x14008d25b
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3c
jne 0x14008d25b
cmp byte [rcx + 1], 0x3f
jne 0x14008d25b
cmp byte [rcx + 2], 0x78
jne 0x14008d25b
cmp byte [rcx + 3], 0x6d
jne 0x14008d25b
cmp byte [rcx + 4], 0x6c
jne 0x14008d25b
movzx eax, byte [rcx + 5]
cmp al, 0x20
ja 0x14008d25b
movabs rcx, 0x100002600
bt rcx, rax
jae 0x14008d25b
mov rcx, rbx
call fcn.140090f30
cmp dword [rbx + 0x80], 0x20
jne 0x14008d25b
mov rcx, rbx
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140082450