joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400090d4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000911e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000911e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000911e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000911e
cmp dword [rcx + 0x84], 0xe
jbe 0x14000911e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140009120
xor al, al
add rsp, 0x28
ret
Function at 0x140015af8
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x140015b67
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140015b67
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140015b67
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140015b67
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140015b67
cmp dword [rcx + 0x84], 0xe
jbe 0x140015b67
cmp dword [rcx + 0xf8], 0
je 0x140015b67
mov ecx, ebx
call fcn.140015c18
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.1400159f4
nop
cmp dword [rbp + 0x20], 0
je 0x140015bb5
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140015bc0
int3
xor r8d, r8d
xor edx, edx
jmp 0x140015af8

Function at 0x140015cfc
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x140015b67
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140015b67
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140015b67
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140015b67
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140015b67
cmp dword [rcx + 0x84], 0xe
jbe 0x140015b67
cmp dword [rcx + 0xf8], 0
je 0x140015b67
mov ecx, ebx
call fcn.140015c18
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.1400159f4
nop
cmp dword [rbp + 0x20], 0
je 0x140015bb5
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140015bc0
int3
xor r8d, r8d
xor edx, edx
jmp 0x140015af8
Function at 0x1400166f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1050
call fcn.140024e40
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1040], rax
mov r15, r8
mov rbp, rdx
mov rbx, rcx
call fcn.1400196cc
xor edi, edi
movsxd r14, eax
cmp dword [rbx + 0x10], edi
jne 0x14001673f
mov rax, rbp
jmp 0x140016847
mov rax, qword [rbx]
mov rcx, r14
sub rax, qword [rbx + 8]
and ecx, 0x3f
cqo
mov rbx, r14
sub rax, rdx
sar rbx, 6
sar rax, 1
mov r9, r15
lea r12, [rcx + rcx*8]
mov rsi, rax
lea rax, [0x140000000]
xor r8d, r8d
mov rdx, qword [rax + rbx*8 + 0x37530]
mov ecx, r14d
mov rdx, qword [rdx + r12*8 + 0x30]
call fcn.14001c8d8
mov r13, rax
lea rax, [0x140000000]
mov rcx, qword [rax + rbx*8 + 0x37530]
cmp r13, qword [rcx + r12*8 + 0x30]
jne 0x140016843
mov rcx, qword [rcx + r12*8 + 0x28]
lea r9, [rsp + 0x30]
mov r8d, 0x1000
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140016843
mov r9, r15
xor r8d, r8d
mov rdx, rbp
mov ecx, r14d
call fcn.14001c8d8
test rax, rax
js 0x140016843
mov eax, dword [rsp + 0x30]
cmp rsi, rax
jg 0x140016843
lea rdx, [rsp + 0x40]
add rdx, rax
lea rcx, [rsp + 0x40]
test rsi, rsi
je 0x140016835
lea r8, [0x140000000]
cmp rcx, rdx
jae 0x140016835
cmp byte [rcx], 0xd
jne 0x14001681b
lea rax, [rdx - 1]
cmp rcx, rax
jae 0x14001682a
cmp byte [rcx + 1], 0xa
jne 0x14001682a
inc rcx
jmp 0x14001682a
movzx eax, byte [rcx]
movsx rax, byte [rax + r8 + 0x36360]
add rcx, rax
inc rdi
inc rcx
cmp rdi, rsi
jne 0x1400167fd
lea rax, [rsp + 0x40]
sub rcx, rax
lea rax, [rcx + r13]
jmp 0x140016847
or rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
call fcn.1400086c0
mov rbx, qword [rsp + 0x1090]
add rsp, 0x1050
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001c24c
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x14001c262
mov al, 1
jmp 0x14001c2c2
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x14001c273
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x14001c2c0
mov ecx, dword [rcx + 0x18]
nop
call fcn.14001ee08
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14001c2c0
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x14001c2c0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x14001c2c0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x14001c2c2
xor al, al
add rsp, 0x20
pop rbx
ret

Function at 0x14001c984
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd r15, ecx
lea r9, [0x140037530]
mov rax, r15
mov rbp, r15
and eax, 0x3f
sar rbp, 6
mov ecx, 4
xor esi, esi
mov r14, rdx
lea rdi, [rax + rax*8]
mov rax, qword [r9 + rbp*8]
lea r13d, [rcx + 6]
mov r10, qword [rax + rdi*8 + 0x28]
test r8, r8
je 0x14001c9db
cmp word [rdx], r13w
jne 0x14001c9db
or byte [rax + rdi*8 + 0x38], cl
jmp 0x14001c9e0
and byte [rax + rdi*8 + 0x38], 0xfb
lea r8, [rdx + r8*2]
mov rbx, r14
cmp r14, r8
jae 0x14001cb05
mov r11d, 0xd
lea r12d, [r11 - 0xb]
movzx ecx, word [rdx]
cmp cx, 0x1a
je 0x14001cb26
lea r9, [rdx + 2]
cmp cx, r11w
je 0x14001ca19
mov rdx, r9
mov word [rbx], cx
jmp 0x14001ca40
cmp r9, r8
jae 0x14001ca50
cmp word [r9], r13w
mov rax, r12
mov ecx, 4
cmove rax, rcx
add rdx, rax
mov eax, r13d
cmp word [r9], r13w
cmovne ax, r11w
mov word [rbx], ax
mov rax, r12
add rbx, rax
cmp rdx, r8
jb 0x14001c9fa
jmp 0x14001cb05
lea r9, [rsp + 0x80]
mov qword [rsp + 0x20], rsi
mov r8d, r12d
lea rdx, [rsp + 0x70]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14001cafa
cmp dword [rsp + 0x80], esi
je 0x14001cafa
lea r8, [0x140037530]
mov rax, qword [r8 + rbp*8]
test byte [rax + rdi*8 + 0x38], 0x48
je 0x14001cad2
movzx eax, word [rsp + 0x70]
cmp ax, r13w
jne 0x14001caa2
mov word [rbx], r13w
jmp 0x14001cb02
mov ecx, 0xd
mov word [rsp + 0x78], ax
mov word [rbx], cx
mov rax, qword [r8 + rbp*8]
lea rcx, [rax + rdi*8]
mov al, byte [rsp + rsi + 0x78]
mov byte [rcx + rsi + 0x3a], al
inc rsi
cmp rsi, r12
jl 0x14001caaf
mov rax, qword [r8 + rbp*8]
mov byte [rax + rdi*8 + 0x3c], r13b
jmp 0x14001cb02
cmp word [rsp + 0x70], r13w
jne 0x14001cadf
cmp rbx, r14
je 0x14001ca9c
mov rdx, 0xfffffffffffffffe
mov ecx, r15d
lea r8d, [rdx + 3]
call fcn.14001c8e0
cmp word [rsp + 0x70], r13w
je 0x14001cb05
mov ecx, 0xd
mov word [rbx], cx
add rbx, r12
sub rbx, r14
sar rbx, 1
lea eax, [rbx + rbx]
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [0x140037530]
mov rdx, qword [r8 + rbp*8]
mov al, byte [rdx + rdi*8 + 0x38]
test al, 0x40
jne 0x14001caff
or al, r12b
mov byte [rdx + rdi*8 + 0x38], al
jmp 0x14001cb05
Function at 0x14001e8c0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x14001e947
mov rsi, rbx
cmp word [rax], bp
je 0x14001e906
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x14001e8f0
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x14001e8ec
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140018298
mov rdi, rax
test rax, rax
je 0x14001e934
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1400253a0
mov rbp, rdi
xor ecx, ecx
call fcn.14001825c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x140023e90
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.14001c8e0
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001c8e0
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x140023fe0
cmp rax, 0xffffffffffffffff
je 0x140023fe0
xor edi, edi
test rbp, rbp
jle 0x140023f8b
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.1400181e4
mov rbx, rax
test rax, rax
jne 0x140023f18
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x140023f81
mov edx, 0x8000
mov ecx, r14d
call fcn.140017918
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.14001bd50
cmp eax, 0xffffffff
je 0x140023f61
cdqe
sub rbp, rax
test rbp, rbp
jg 0x140023f28
mov edx, r15d
mov ecx, r14d
call fcn.140017918
jmp 0x140023f81
cmp byte [rsi + 0x38], dil
je 0x140023f78
cmp dword [rsi + 0x34], 5
jne 0x140023f78
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x140023f81
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14001825c
jmp 0x140023ff4
jns 0x140023ff4
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001c8e0
cmp rax, 0xffffffffffffffff
jne 0x140023fac
cmp byte [rsi + 0x30], dil
je 0x140023ff4
mov edi, dword [rsi + 0x2c]
jmp 0x140023ff4
mov ecx, r14d
call fcn.14001ee08
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x140023ff4
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 0x140023ff4
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140023fed
mov eax, dword [rsi + 0x2c]
jmp 0x140023ff2
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001c8e0
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 0x140024dd0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140024df8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140024df8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0xb67330
Capabilities:
Encode data using base64

Disassembly:
sar dl, 0x84
mov rbp, rsi
mov qword [rsp + rdx + 0x29d86b03], rdx
mov edx, ebx
js 0xbd28af

Function at 0xbd6d64
Capabilities:
Encode data using base64

Disassembly:
jmp 0xbdff5b
jmp 0xbe9213

Function at 0xbe1c1b
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
xor ax, 0x910e
shr r8d, 0xe5
lea r8, [r8*8 - 0x6270e35e]
not ax
push r8
neg r8b
sal r8d, 0x32
dec ax
shr r8d, 0x5d
call fcn.00bde23e
mov bl, 0xc4
lea eax, [rcx]
xchg esp, eax
ja 0xb63c13
mov esp, dword [rdx]
sahf
add esp, dword [rax]
movsb byte [rdi], byte [rsi]
cmp al, 0x25
cdq
movsb byte [rdi], byte [rsi]
mov bh, 0x8b
invalid
or eax, 0x56b5004c
movabs byte [0xf4d53d41d21f03fa], al
push rbp
mov dh, 0xc2
sub ch, byte [rbx - 0x5abe5dd9]
sub eax, 0x5e6de07c
ror byte [rdx], cl
mov bl, 0xbd
push rbx
mov dword [rcx + rcx*8 + 0x49], 0xbac23514
and al, 0x8c
cwde
pop rbp
invalid
je 0xb63b91
lea rdi, [rdi + rdx - 0x59033d93]
movzx edx, byte [rdi + rdx - 0x59033d92]
jl 0xbfff13
xor edx, edx
test r8, r8
call fcn.00b64eb7
jmp 0xbe5626
jns 0xc0db7d
test dword [rsi - 0x5713b04e], 0x980d81c0
jnp 0xbe1c3d
cmpsb byte [esi], byte [edi]
invalid
ja 0xbe1c93
ror byte [rax + 0x59], 0x65
mov eax, 0x7f46a74b
xchg dword [rbp + rbp - 0x3dc2cbfe], edx
mov edx, 0xf9988c24
mov ecx, fs
pop rcx
sar dword [rdx + 0x69], 0x76
xor dword [rdx - 0x77], ebx
mov r9b, 0x32
add dword [rax + 0x2b9977d1], ecx
adc dword [rcx + riz], ebp
jns 0xbe1ccd
mov dl, 0xc1
invalid
invalid
or eax, 0x20793445
fmul dword [rsi + rdx*2 - 0x3c6253e6]
cmpsb byte [rsi], byte [rdi]
movabs eax, dword [0x2c44ccb4a02f653d]
hlt
xor bpl, dl
push 0xffffffffa519751f
sub rsi, 2
push 0xffffffffaa333004
push 0xffffffffcf8a55a9
push 0xffffffffdfb21aa3
mov word [rsi], dx
push 0xffffffffcdb608aa
call fcn.00bfd268
mov eax, 0xcf081fb0
rol ax, 0x66
mov eax, dword [rsi + riz + 4]
adc rsi, 3
and ebx, eax
call fcn.01724bb0
and byte [rdi + 0x64c7fa46], ah
and byte [rax + 1], bh
pop rbp
xor byte [rbx], al
invalid
jno 0xc06e1f
push 0x58f203a
xor dl, bpl
rol dword [rsp + 2], 0xe1
rol byte [rsp + 3], 0xc5
sar qword [rsp], 0x48
ror dl, 1
shl qword [rsp], 0x88
xor dl, 0x83
sal qword [rsp], 0xed
not byte [rsp + 4]
not dl
jae 0xbf1730
neg qword [rsp]
sar dword [rsp + 1], 9
inc dl
jmp 0xbe0bd4
jnp 0xbcfec3
add rsi, 0xc
mov qword [rsp], 0x40501bc
jmp 0xbd439f

Function at 0xbed110
Capabilities:
Encode data using base64

Disassembly:
lea rsp, [rsp + 0x18]
je 0xbcce3f
mov ebx, 0x23181a1d
and ebx, ebx
bt ebx, ebx
push r11
movsx r11d, bx
shl r11, 0xb3
sete r11b
lea rbx, [0x00c00ae8]

Function at 0xbed162
Capabilities:
Encode data using base64

Disassembly:
mov qword [rbp + riz - 8], rax
sal word [rsp + 9], 0x2d
push 0xfffffffffcbc070c
jne 0xc1975c
push 0x4c
sbb ecx, dword [rcx - 0x12162839]
invalid
lea rsp, [rsp + 0x18]
mov qword [rbp + riz - 0x10], rsp
push 0x6bb1b9b6
or byte [rsp + 3], 0x10
lea rsp, [rsp + 8]
sbb rsp, rcx
and rsp, 0xfffffffffffffff0
add rsp, rcx
call fcn.00b69dc8
add byte [rcx], ah
add byte [rax], al
add cl, dh
invalid

Function at 0xc0131f
Capabilities:
Encode data using base64

Disassembly:
call fcn.00be7cec
jmp 0xb67346
Function at 0xc1aa78
Capabilities:
Encode data using base64

Disassembly:
movzx r11d, byte [rbx]
push 0xffffffffbc972009
shr dword [rsp + 1], 0x4f
ror word [rsp + 4], 0x8b
xor r11d, edx
and r11d, 0xff
jmp 0xbe512d
sar byte [rsp], 0xa1
push 0x293a7b20
mov r11d, dword [rcx + r11*4]
push 0x42914a89
shr edx, 8
push 0x15a9362c
call fcn.00c05d5a
lea rsp, [rsp + 0x50]
jne 0xbe2a40
push 0xf06f8ac
mov r11, qword [rsp + 8]
lea rsp, [rsp + 0x10]
not edx
mov dword [rsi], edx
push 0xeb5a79a
call fcn.00bd1e63
and byte [rdi - 0xad25e6e], dl
int3
push 0xffffffffb4067490
xor edx, 0xfe2dc5a8
jmp 0x17278dd
push 0xffffffff8682790c
dec r8
jmp 0xc00626

Function at 0xc1ae48
Capabilities:
Encode data using base64

Disassembly:
lea rsp, [rsp + 0x18]
jne 0xbed13a
mov r11d, 0xec0769b8
not r11b
bswap r11d
pop r11
call fcn.00c1adfe
jne 0xc1bdac
movzx r11d, byte [r9]
xor r11d, r8d
and r11d, 0xff
push 0xffffffffc4b35f0e
inc word [rsp]
shl word [rsp + 1], 0xa8
mov r11d, dword [rbx + r11*4]
jne 0xbf07fc
jne 0xbdf58e
out 0xe8, eax
invalid
dec r10
push 0xffffffffb82a7abc
jmp 0xbcce26
shr r8d, 8
and word [rsp + 5], 0xaea9
shr byte [rsp + 6], 0xc7
xor r8d, r11d
inc r9
xor r8d, 0x9fb0b4a7
call fcn.00c1ae48
invalid

Function at 0xc1cb00
Capabilities:
Encode data using base64

Disassembly:
mov word [rdx], bx
push 0xffffffffa587123f
call fcn.00bdd4df
mov rdx, qword [rsi + riz]
mov qword [rsp], 0x73b70f32
mov bx, word [rsi + 8]
dec word [rsp + 4]
add rsi, 0xa
push 0x29a7908d
jmp 0xc1caee

Function at 0x1727b75
Capabilities:
Encode data using xor

Disassembly:
mov r10d, 0xb013633
mov r10d, dword [rsi + r10*4 - 0x2c04d8c4]
push 0x5a236713
mov qword [rsp], 0xffffffffd41b1337
add rsi, 0xc
mov dword [r8], r10d
jmp 0xbfe918
mov qword [rsp], 0x3d301f87
lea rsp, [rsp + 0x10]
ja fcn.00c06758
mov rax, rsp
mov r10d, 0x739ed88d
mov ecx, r10d
lea ecx, [rcx - 0x739ed76d]
dec r10d
push r10
call fcn.00c0ef4d
mov r8, qword [rsi]
jmp 0xbedda4
Function at 0x14004fa50
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x14004fa5d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x14004fa6d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x14004fa55
lea eax, [rcx + 1]
jmp 0x14004fa7b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x14004fa8e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x14004fa74
sub eax, 3
jb 0x14004faae
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x14004fafd
sar eax, 1
movsxd rbp, eax
jb 0x14004fae4
jmp 0x14004fabc
add ebx, ebx
jne 0x14004faba
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x14004fae4
inc ecx
add ebx, ebx
jne 0x14004faca
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x14004fae4
call r11
adc ecx, ecx
add ebx, ebx
jne 0x14004fadd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14004facc
add ecx, 2
jmp 0x14004fae9
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.14004fa12
jmp 0x14004fa5d
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x1b400
mov dl, 9
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x14004fb49
cmp rsi, rcx
jae 0x14004fb51
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x14004fb30
cmp al, 0x8f
ja 0x14004fb30
cmp byte [rsi - 2], 0xf
je 0x14004fb36
sub al, 0xe8
cmp al, 1
ja 0x14004fb1a
cmp rsi, rcx
jae 0x14004fb51
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x14004fb20
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x14004fb51
lodsb al, byte [rsi]
jmp 0x14004fb30
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x4d000]
mov eax, dword [rdi]
or eax, eax
je 0x14004fbba
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x7481c]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x14004fb5e
jns 0x14004fb93
movzx rdx, word [rdi]
add rdi, 2
jmp 0x14004fb9d
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x14004fbb4
mov qword [rbx], rax
add rbx, 8
jmp 0x14004fb7e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x18f]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x14004fc12
sub rsp, 0xffffffffffffff80
jmp 0x14001bce0
Function at 0x14000da84
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140017850], eax
call fcn.14000d7d0
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140017850], 0
jne case.default.0x14000dada
mov ecx, 1
call fcn.14000d7d0
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
test byte [rax + rdi + 0x79], 0xf3
sub qword [rcx - 0x56], rsp
invalid
Function at 0x180001340
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x168
mov rax, qword [0x180017008]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x180001391
xor eax, eax
jmp 0x1800014ee
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x4550
je 0x1800013c4
mov rax, qword [rsp + 0x30]
jmp 0x1800014ee
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdi, rax
lea rsi, [rcx + 0x18]
mov ecx, 0xf0
rep movsb byte [rdi], byte [rsi]
mov eax, 8
imul rax, rax, 0
cmp dword [rsp + rax + 0xd0], 0
jne 0x1800013f9
mov rax, qword [rsp + 0x30]
jmp 0x1800014ee
mov eax, 8
imul rax, rax, 0
mov eax, dword [rsp + rax + 0xd0]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x20], 0
jmp 0x180001481
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x20], eax
jae 0x1800014e9
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x188]
mov rcx, rax
call fcn.180004390
test eax, eax
jne 0x1800014e7
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x180]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x1800014e9
jmp 0x180001477
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1800020a0
add rsp, 0x168
pop rdi
pop rsi
ret

Function at 0x180001fa0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 1
je 0x180001fc3
jmp 0x180001fd0
lea rcx, str.DllMain
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 1
add rsp, 0x38
ret
Function at 0x401010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x00404430]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x00404440]
mov dword [rax], 1
mov rax, qword [0x00404450]
mov dword [rax], 1
mov rax, qword [0x004043d0]
cmp word [rax], 0x5a4d
jne 0x40105a
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x4010c0
mov rax, qword [0x00404420]
mov dword [0x00407020], ecx
mov eax, dword [rax]
test eax, eax
je 0x4010b0
mov ecx, 2
call sym.__set_app_type
call sym.__p__fmode
mov rdx, qword [0x004044f0]
mov edx, dword [rdx]
mov dword [rax], edx
call sym.__p__commode
mov rdx, qword [0x004044d0]
mov edx, dword [rdx]
mov dword [rax], edx
call sym._setargv
mov rax, qword [0x00404380]
cmp dword [rax], 1
je 0x4010f8
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x401077
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x401110
cmp dx, 0x20b
jne 0x40105a
cmp dword [rax + 0x84], 0xe
jbe 0x40105a
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x40105a
mov rcx, qword [sym._matherr]
call sym.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x40105a
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x40105a

Function at 0x401820
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov rbx, rcx
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call sym.__acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sym.fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call sym.__acrt_iob_func
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sym.vfprintf
call sym.abort
nop
nop dword [rax]