joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180060470
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [0x180189e48]
xor rax, rsp
mov qword [rbp + 0x47], rax
lea rsi, section.vmp3
mov dword [rbp - 9], 0x544c5643
mov ecx, 0xa
mov word [rbp - 0x19], 0x5453
mov dword [rbp + 0x2f], 0x572d4457
mov dword [rbp + 0x37], 0x572d4457
mov dword [rbp + 0x3f], 0x54534748
mov dword [rbp - 0x11], 0x45474145
mov word [rbp - 0xd], 0x2d54
mov dword [rbp + 0x13], 0x2d6b7369
mov dword [rbp + 0xf], 0x646e6153
mov word [rbp - 0x15], 0x5a4d
mov word [rbp], 0x534d
mov byte [rbp - 1], 0x44
mov byte [rbp + 2], 0x2d
mov dword [rbp + 8], 0x44535344
mov byte [rbp + 0xc], 0x41
mov byte [rbp + 7], 0x53
mov word [rbp + 0x22], 0x4948
mov word [rbp + 0x1f], 0x4f54
mov word [rbp + 0x24], 0x4142
mov byte [rbp + 0x26], 0x2d
mov byte [rbp + 0x21], 0x53
call rsi
movdqa xmm0, xmmword [0x18016c550]
mov ecx, 0x24
movdqa xmm1, xmmword [0x18016c4d0]
movsxd rbx, eax
xor eax, eax
mov word [rbp - 0x20], ax
xor edx, edx
mov byte [rbp - 0x1e], al
mov dword [rbp - 0x49], ecx
movdqu xmmword [rbp - 0x45], xmm0
mov dword [rbp - 0x25], 0x2937393b
movdqu xmmword [rbp - 0x35], xmm1
mov byte [rbp - 0x21], 0x11
nop dword [rax]
mov eax, edx
lea rcx, [rbp - 0x45]
add rcx, rax
lea eax, [rdx - 0x13]
inc edx
xor byte [rcx], al
mov ecx, dword [rbp - 0x49]
cmp edx, ecx
jb 0x180060560
mov byte [rbp + rcx - 0x45], 0
xor edx, edx
lea rcx, [0x180192602]
mov r8d, 0x102
call fcn.1800f4bb0
cmp ebx, 9
ja case.default.0x1800605aa
lea rdx, [0x180000000]
mov ecx, dword [rdx + rbx*4 + 0x606e4]
add rcx, rdx
jmp rcx
mov eax, dword [rbp - 9]
mov dword [0x180192600], eax
mov ebx, 4
jmp 0x180060693
movzx eax, word [rbp - 0x19]
mov ebx, 2
mov word [0x180192600], ax
jmp 0x180060693
mov eax, dword [rbp + 0x2f]
mov ebx, 5
mov dword [0x180192600], eax
mov byte [0x180192604], 0x58
jmp 0x180060693
mov eax, dword [rbp + 0x37]
mov ebx, 5
mov dword [0x180192600], eax
mov byte [0x180192604], 0x43
jmp 0x180060693
mov eax, dword [rbp + 0x3f]
mov ebx, 5
mov dword [0x180192600], eax
mov byte [0x180192604], 0x2d
jmp 0x180060693
mov eax, dword [rbp - 0x11]
mov ebx, 6
mov dword [0x180192600], eax
movzx eax, word [rbp - 0xd]
mov word [0x180192604], ax
jmp 0x180060693
mov rax, qword [rbp + 0xf]
jmp 0x180060687
movzx eax, word [rbp - 0x15]
mov ebx, 3
mov word [0x180192600], ax
mov byte [0x180192602], 0x2d
jmp 0x180060693
mov eax, dword [rbp - 1]
jmp 0x1800605af
mov eax, dword [rbp + 7]
mov ebx, 7
mov dword [0x180192600], eax
movzx eax, word [rbp + 0xb]
mov word [0x180192604], ax
mov byte [0x180192606], 0x2d
jmp 0x180060693
mov rax, qword [rbp + 0x1f]
mov ebx, 8
mov qword [0x180192600], rax
lea rdi, [0x180192600]
nop word [rax + rax]
mov ecx, 8
call rsi
movsxd rcx, eax
movzx ecx, byte [rbp + rcx - 0x45]
mov byte [rbx + rdi], cl
inc rbx
cmp rbx, 0x10
jl 0x1800606a0
mov rax, rdi
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1800f21e0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x1800616e0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4a0]
sub rsp, 0x5a0
mov rax, qword [0x180189e48]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov rsi, r8
mov rdi, rdx
mov r15, rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xor edx, edx
mov r8d, 0x300
lea rcx, [rbp + 0x190]
call fcn.1800f4bb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], r13b
lea rcx, [0x18016b898]
jmp 0x1801b8901
Function at 0x180063ac0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rsi, r8
mov rbp, rdx
mov r14, rcx
test rdx, rdx
je 0x180063bac
test r8, r8
je 0x180063bac
mov qword [rsp + 0x50], rbx
mov ecx, 0x402
mov qword [rsp + 0x58], rdi
mov ebx, 0x200
call fcn.1800f25f0
mov rdi, rax
lea r8, [0x180169b20]
mov rax, qword [r14 + 8]
mov r9, rdi
mov qword [rsp + 0x28], rax
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc eax
cmp eax, ebx
jb 0x180063b96
mov qword [rsp + 0x60], r15
mov r15, 0xffffffffffffffff
nop word [rax + rax]
mov rcx, rdi
add ebx, 0x200
call fcn.1800f2580
lea ecx, [rbx + 1]
mov eax, 2
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1800f25f0
mov rdi, rax
lea r8, [0x180169b20]
mov rax, qword [r14 + 8]
mov r9, rdi
mov qword [rsp + 0x28], rax
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc eax
cmp eax, ebx
jae 0x180063b40
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov rax, rdi
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.1800f25f0
xor ecx, ecx
mov word [rax], cx
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret

Function at 0x1800642d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rdi
mov eax, 0x138c8
call fcn.1800f3300
sub rsp, rax
mov rax, qword [0x180189e48]
xor rax, rsp
mov qword [rsp + 0x138b0], rax
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x9c40
lea rdi, [rsp + 0x138e8]
call fcn.1800f4bb0
lea rdx, [0x18016b468]
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_StrCatW]
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x180064340
lea rbx, [rsp + 0x30]
lea rbx, [rbx + rax*2]
call fcn.18002c3b0
mov r9, qword [rsp + 0x138e0]
mov r8d, 0x7fffffff
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov qword [rsp + 0x20], 0
mov rcx, qword [rax]
call fcn.18010788c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x138b0]
xor rcx, rsp
call fcn.1800f21e0
add rsp, 0x138c8
pop rdi
pop rbx
ret

Function at 0x180065170
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x560
mov rax, qword [0x180189e48]
xor rax, rsp
mov qword [rsp + 0x550], rax
mov rbx, r9
mov r14, r8
mov rdi, rdx
mov rbp, rcx
mov qword [rsp + 0x48], rdx
lea rcx, [0x18016bb70]
jmp 0x1801bb0f1
Function at 0x180065e10
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rax, qword [0x180189e48]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r14, r8
mov rbx, rdx
mov qword [rsp + 0x20], rdx
xor esi, esi
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x180065e4b
mov rcx, qword [rdx]
lea rdx, [0x18016bb9c]
call fcn.18011d694
mov rdi, rax
test rax, rax
je 0x180065ebe
mov rcx, rax
call fcn.180128de8
mov ecx, eax
call fcn.180128de0
movsxd rbp, eax
mov dword [r14], ebp
mov ecx, ebp
add ecx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
call fcn.18011a69c
mov rsi, rax
test rax, rax
je 0x180065eb5
lea ecx, [rbp + 1]
movsxd r8, ecx
xor edx, edx
mov rcx, rax
call fcn.1800f4bb0
mov rdx, rbp
mov r9, rdi
mov r8d, 1
mov rcx, rsi
call fcn.18010e8d8
mov rcx, rdi
call fcn.18010f25c
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180065ef4
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180065eef
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180065f2a
mov rcx, r8
call fcn.1800f2580
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rax, rsi
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1800f21e0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
call fcn.1800f9714
int3
Function at 0x18007cca0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
movzx r14d, byte [rcx + 0x20]
mov ebp, r8d
mov rbx, qword [rdx]
xor r14d, 3
mov rdi, rdx
mov rsi, rcx
test rbx, rbx
je 0x18007cd68
mov qword [rsp + 0x40], r15
lea r15, fcn.18007ff80
nop dword [rax]
mov eax, ebp
dec ebp
test eax, eax
je 0x18007cd4d
cmp byte [rbx + 9], 6
jne 0x18007cd00
lea rdx, [rbx + 0x40]
mov r8d, 0xffffffff
mov rcx, rsi
call fcn.18007cca0
movzx ecx, byte [rbx + 8]
mov eax, ecx
xor eax, 3
test r14d, eax
je 0x18007cd21
movzx eax, byte [rsi + 0x20]
and cl, 0xf8
and al, 3
mov rdi, rbx
or cl, al
mov byte [rbx + 8], cl
jmp 0x18007cd45
mov rax, qword [rbx]
mov qword [rdi], rax
cmp rbx, qword [rsi + 0x28]
jne 0x18007cd34
mov rax, qword [rbx]
mov qword [rsi + 0x28], rax
movzx eax, byte [rbx + 9]
mov rdx, rbx
sub eax, 4
mov rcx, rsi
call qword [r15 + rax*8]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x18007cce0
mov r15, qword [rsp + 0x40]
mov rax, rdi
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, rdx
jmp 0x18007cd55

Function at 0x18007ee50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x38]
mov rsi, r8
add rax, 8
mov rbx, rcx
cmp rdx, rax
jbe 0x18007ef64
mov r9, qword [rdx]
movzx eax, r9b
and al, 7
cmp al, 3
jne 0x18007ee8d
and r9, 0xfffffffffffffff8
sub rdx, r9
mov r9, qword [rdx]
mov rcx, rdx
test r9b, 3
jne 0x18007eea8
movzx eax, byte [r9 - 3]
lea rax, [rax*8 + 0x10]
sub rcx, rax
jmp 0x18007eeaf
and r9, 0xfffffffffffffff8
sub rcx, r9
mov rdi, qword [rcx - 8]
movabs rax, 0x7fffffffffff
and rdi, rax
mov r8, rdx
mov rdx, rdi
mov rcx, rbx
call fcn.18007e490
cmp eax, 0xffffffff
je 0x18007ef64
mov rcx, qword [rdi + 0x20]
lea r8, [0x180151f10]
mov eax, eax
sub rcx, 0x68
add rax, 0x1a
mov r10d, dword [rcx + rax*4]
lea rdx, [rcx + rax*4]
movzx eax, r10b
movzx r8d, word [r8 + rax*2]
shr r8d, 0xb
cmp r8d, 9
jne 0x18007ef34
mov eax, r10d
shr eax, 8
movzx r9d, al
cmp r10b, 0x45
lea r8d, [r9 - 3]
cmovne r8d, r9d
mov r9, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.18007f680
cmp r8d, 0x16
je 0x18007ef64
mov rax, qword [rbx + 0x10]
mov rdx, qword [rax + r8*8 + 0x1a8]
lea rax, str.metamethod
add rdx, 0x18
mov qword [rsi], rdx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18007f680
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov r14, r9
sub rdx, rcx
mov edi, r8d
sub rdx, 0x68
mov rbp, rcx
sar rdx, 2
call fcn.18007e810
test rax, rax
jne 0x18007f732
lea rsi, [rbp + 0x68]
lea r15, [0x180151f10]
sub rbx, 4
cmp rbx, rsi
jbe 0x18007f6fb
mov eax, dword [rbx]
movzx edx, al
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, word [r15 + rdx*2]
and cx, 7
cmp cx, 2
jne 0x18007f6ff
cmp edi, r8d
jb 0x18007f6c4
cmp edx, 0x2c
jne 0x18007f6fb
shr eax, 0x10
cmp edi, eax
ja 0x18007f6c4
xor eax, eax
jmp 0x18007f73c
cmp cx, 1
jne 0x18007f6c4
cmp r8d, edi
jne 0x18007f6c4
cmp edx, 0x12
jne 0x18007f755
mov edi, eax
mov rdx, rbx
sub rdx, rbp
shr edi, 0x10
sub rdx, 0x68
mov r8d, edi
sar rdx, 2
mov rcx, rbp
call fcn.18007e810
test rax, rax
je 0x18007f6c4
mov qword [r14], rax
lea rax, str.local
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
cmp edx, 0x2d
je 0x18007f7f1
cmp edx, 0x36
je 0x18007f7cc
cmp edx, 0x39
jne 0x18007f6fb
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov rcx, qword [rbp + 0x20]
not rdx
mov rdx, qword [rcx + rdx*8]
add rdx, 0x18
mov qword [r14], rdx
mov r9d, dword [rbx - 4]
cmp r9b, 0x12
jne 0x18007f7c0
mov ecx, r9d
shr ecx, 8
movzx edx, cl
lea ecx, [r8 + 2]
cmp edx, ecx
jne 0x18007f7c0
shr eax, 8
lea rcx, str.method
xor eax, r9d
test eax, 0xffff0000
lea rax, str.field
cmove rax, rcx
jmp 0x18007f73c
lea rax, str.field
jmp 0x18007f73c
mov rcx, rax
mov rax, qword [rbp + 0x20]
shr rcx, 0x10
not rcx
mov rcx, qword [rax + rcx*8]
lea rax, str.global
add rcx, 0x18
mov qword [r14], rcx
jmp 0x18007f73c
mov rdx, qword [rbp + 0x58]
shr eax, 0x10
test rdx, rdx
jne 0x18007f813
lea rdx, [0x180168fb0]
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x18007f73c
test eax, eax
je 0x18007f82f
nop word [rax + rax]
movzx ecx, byte [rdx]
inc rdx
test cl, cl
jne 0x18007f820
add eax, 0xffffffff
jne 0x18007f820
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x18007f73c

Function at 0x18007fd20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov r10, rcx
mov rbx, r8
shr r10, 0x20
mov r11d, edx
xor r10d, edx
rol r10d, 4
bswap r10d
cmp r9d, 0xc
jbe 0x18007fdb3
mov r9d, r9d
add r9, 0xfffffffffffffff4
add r9, rbx
mov r8, r9
nop
add r10d, dword [r8 + 4]
add r11d, dword [r8 + 8]
mov edx, r10d
add ecx, dword [r8]
xor r11d, r10d
rol edx, 0xe
mov r8, rbx
sub r11d, edx
add rbx, 0xc
xor ecx, r11d
mov eax, r11d
rol eax, 0xb
sub ecx, eax
mov edx, ecx
mov eax, ecx
xor eax, r10d
ror edx, 7
sub eax, edx
mov r10d, eax
cmp r8, r9
jb 0x18007fd50
rol eax, 0x10
mov edx, r10d
xor edx, r11d
sub edx, eax
xor ecx, edx
mov eax, edx
rol eax, 4
sub ecx, eax
mov eax, ecx
xor ecx, r10d
rol eax, 0xe
sub ecx, eax
mov eax, ecx
mov rbx, qword [rsp + 8]
ret
mov rbx, qword [rsp + 8]
mov eax, r10d
ret
Function at 0x180081f80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r15
sub rsp, 0x20
mov rbp, rdx
mov rbx, r8
movzx edx, byte [rdx + 0x3c]
mov r12, rcx
lea rdx, [rdx*8 + 0x28]
call fcn.18007e100
lea r8, [rbp + 0x68]
mov rdi, rax
mov word [rax + 9], 8
mov byte [rax + 0xb], 0
mov qword [rax + 0x20], r8
mov qword [rax + 0x10], rbx
movzx edx, byte [rbp + 0x3d]
movzx r15d, byte [rbp + 0x3c]
add edx, 0x20
mov ecx, edx
shr ecx, 3
and cl, 0x20
sub dl, cl
mov byte [rbp + 0x3d], dl
test r15b, r15b
je 0x180082064
mov qword [rsp + 0x40], rsi
xor ebx, ebx
mov qword [rsp + 0x48], r14
lea rsi, [rax + 0x28]
mov r14d, r15d
nop dword [rax + rax]
mov edx, 0x30
mov rcx, r12
call fcn.18007e100
mov qword [rax + 0x10], 0xffffffffffffffff
lea rsi, [rsi + 8]
lea rbx, [rbx + 2]
lea rcx, [rax + 0x10]
mov word [rax + 9], 0x105
mov qword [rax + 0x20], rcx
mov rcx, qword [rbp + 0x28]
movzx edx, word [rcx + rbx - 2]
mov ecx, edx
shl edx, 0x18
shr ecx, 0xe
xor edx, ebp
and cl, 1
mov dword [rax + 0x28], edx
mov byte [rax + 0xb], cl
mov qword [rsi - 8], rax
sub r14, 1
jne 0x180082000
mov r14, qword [rsp + 0x48]
mov rax, rdi
mov rsi, qword [rsp + 0x40]
mov byte [rdi + 0xb], r15b
jmp 0x180082068
mov byte [rax + 0xb], r15b
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
Function at 0x180097280
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x18018c6f0]
mov rbx, rcx
test rax, rax
jne 0x1800972cc
xor r8d, r8d
lea rcx, str.advapi32.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
test rax, rax
je 0x18009733b
lea rdx, str.SystemFunction036
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18018c6f0], rax
test rax, rax
je 0x18009733b
mov edx, 0x20
mov rcx, rbx
call rax
test al, al
je 0x18009733b
mov rax, qword [rbx]
cmp rax, 2
jae 0x1800972ea
add rax, 2
mov qword [rbx], rax
mov rax, qword [rbx + 8]
cmp rax, 0x40
jae 0x1800972fc
add rax, 0x40
mov qword [rbx + 8], rax
mov rax, qword [rbx + 0x10]
cmp rax, 0x200
jae 0x180097312
add rax, 0x200
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
cmp rax, 0x20000
jae 0x180097328
add rax, 0x20000
mov qword [rbx + 0x18], rax
mov rcx, rbx
call fcn.180097350
mov eax, 1
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x18009b070
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r15
sub rsp, 0x30
movzx eax, byte [rdx]
xor r12d, r12d
mov rbp, r9
mov r15, r8
mov rbx, rdx
mov rsi, rcx
mov edi, 0xa
test al, al
je 0x18009b0d5
movsx edx, al
inc rbx
cmp edx, 0x66
je 0x18009b0bc
cmp edx, 0x69
je 0x18009b177
cmp edx, 0x6c
jne 0x18009b0ce
mov rax, qword [rsi + 0x10]
mov rcx, rsi
mov dword [rax + 0xf04], edx
call fcn.180083b80
movzx eax, byte [rbx]
test al, al
jne 0x18009b0a3
mov rbx, qword [0x18018c700]
mov qword [rsp + 0x50], r14
lea r14, [rsi + 0x10]
test rbx, rbx
je 0x18009b1b6
cmp qword [r14], rbx
jne 0x18009b1ad
mov rcx, qword [0x18018c788]
mov edx, 0xffffffff
mov dword [0x18018c790], 1
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, [0x18018c760]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
and byte [rbx + 0x91], 0x7f
mov rcx, rbx
call fcn.1800964c0
mov rcx, rsi
mov dword [rbx + 0xf04], r12d
call fcn.180083b80
mov r8d, dword [0x18018c720]
xor r9d, r9d
sub r8d, dword [0x18018c728]
mov rdx, qword [0x18018c728]
sub qword [rbx + 0x10], r8
mov rcx, qword [rbx + 8]
call qword [rbx]
mov qword [0x18018c720], r12
mov qword [0x18018c718], r12
mov qword [0x18018c700], r12
jmp 0x18009b1b6
movzx eax, byte [rbx]
mov edi, r12d
cmp al, 0x30
jl 0x18009b1a3
cmp al, 0x39
ja 0x18009b19b
inc rbx
movzx ecx, al
lea edi, [rdi + rdi*4]
lea edi, [rdi - 0x18]
movzx eax, byte [rbx]
lea edi, [rcx + rdi*2]
cmp al, 0x30
jge 0x18009b181
test edi, edi
jg 0x18009b0ce
mov edi, 1
jmp 0x18009b0ce
test rbx, rbx
jne 0x18009b2a4
cmp qword [0x18018c748], r12
mov rax, qword [r14]
mov qword [0x18018c700], rax
mov dword [0x18018c738], edi
mov qword [0x18018c708], r15
mov qword [0x18018c710], rbp
mov dword [0x18018c73c], r12d
mov qword [0x18018c730], rsi
mov qword [0x18018c728], r12
mov qword [0x18018c720], r12
mov qword [0x18018c718], r12
jne 0x18009b267
xor r8d, r8d
lea rcx, str.winmm.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov qword [0x18018c748], rax
test rax, rax
je 0x18009b267
lea rdx, str.timeBeginPeriod
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18018c748]
lea rdx, str.timeEndPeriod
mov qword [0x18018c750], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x18018c750], r12
mov qword [0x18018c758], rax
je 0x18009b25e
test rax, rax
jne 0x18009b267
mov qword [0x18018c748], r12
jmp 0x18009b2a4
lea rcx, [0x18018c760]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea r9, [0x18018c700]
mov qword [rsp + 0x28], r12
lea r8, [0x18009b390]
mov dword [0x18018c790], r12d
xor edx, edx
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x18018c788], rax
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r12
pop rdi
ret
Function at 0x1800a6cd0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
xor r11d, r11d
mov r10d, edx
mov edi, r8d
mov rbx, rcx
mov esi, 0xffffffff
test edx, edx
jne 0x1800a6d11
mov eax, dword [rcx]
test eax, eax
je 0x1800a6d01
bsf ecx, eax
cmp ecx, r8d
jb 0x1800a6d0b
mov ecx, r8d
shr eax, cl
mov dword [rbx], eax
xor eax, eax
mov rbx, qword [rsp + 0x30]
pop rdi
pop rsi
ret
shr eax, cl
mov dword [rbx], eax
sub edi, ecx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
mov r15d, 1
cmp edi, 0x12
jbe 0x1800a6db3
mov edx, r9d
and r9b, 0x30
shr edx, 0x18
lea r8d, [rdx - 1]
cmp r9b, 0x20
jne 0x1800a6d5f
mov eax, 0x38e38e39
mov r14d, 0x3f
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub r14d, edx
jmp 0x1800a6dc0
bsr ecx, dword [rbx + r10*4]
imul eax, r10d, 0x1d
mov esi, r10d
sub eax, edi
add eax, ecx
mov ecx, r15d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x180152510]
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, 0x38e38e39
sub ecx, edx
imul ecx
mov eax, r8d
sar edx, 1
mov r14d, edx
add edx, 0x3e
shr r14d, 0x1f
add r14d, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
sub esi, eax
add esi, 0x3d
jmp 0x1800a6dc0
mov r14d, esi
cmp edi, 9
jb 0x1800a6e5d
nop
mov ecx, dword [rbx + r10*4]
mov r8d, r10d
mov eax, ecx
and ecx, 0x1ff
shr eax, 9
imul r9d, ecx, 0x1dcd65
mov dword [rbx + r10*4], eax
cmp r10d, r11d
je 0x1800a6e19
nop dword [rax]
nop word [rax + rax]
dec r8d
and r8d, 0x3f
mov edx, dword [rbx + r8*4]
mov eax, edx
shr eax, 9
and edx, 0x1ff
add eax, r9d
imul r9d, edx, 0x1dcd65
mov dword [rbx + r8*4], eax
cmp r8d, r11d
jne 0x1800a6df0
cmp r11d, r14d
je 0x1800a6e3c
cmp r11d, esi
je 0x1800a6e3c
test r9d, r9d
je 0x1800a6e33
dec r11d
and r11d, 0x3f
mov dword [rbx + r11*4], r9d
cmp dword [rbx + r10*4], 0
jne 0x1800a6e51
jmp 0x1800a6e48
cmp dword [rbx + r10*4], 0
jne 0x1800a6e51
cmp r10d, r11d
je 0x1800a6ec7
dec r10d
and r10d, 0x3f
dec esi
add edi, 0xfffffff7
cmp edi, 9
jae 0x1800a6dc0
test edi, edi
je 0x1800a6ec7
mov r9d, dword [rbx + r10*4]
mov ecx, edi
mov eax, r9d
shl r15d, cl
dec r15d
shr eax, cl
and r9d, r15d
mov dword [rbx + r10*4], eax
mov esi, 0x3b9aca00
sar esi, cl
imul r9d, esi
cmp r10d, r11d
je 0x1800a6eb7
nop dword [rax]
dec r10d
mov ecx, edi
and r10d, 0x3f
mov edx, dword [rbx + r10*4]
mov eax, edx
shr eax, cl
add eax, r9d
mov r9d, edx
and r9d, r15d
mov dword [rbx + r10*4], eax
imul r9d, esi
cmp r10d, r11d
jne 0x1800a6e90
test r9d, r9d
je 0x1800a6ec7
dec r11d
and r11d, 0x3f
mov dword [rbx + r11*4], r9d
mov r14, qword [rsp + 0x20]
mov eax, r11d
mov rbp, qword [rsp + 0x18]
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
pop rdi
pop rsi
ret
Function at 0x1800bef50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
mov ebp, r9d
mov r10, r8
mov r11, rdx
mov r14, rcx
test r9b, 1
jne 0x1800bf08d
nop dword [rax]
cmp r11, r10
je 0x1800bf08d
mov rsi, qword [r14]
xor ebx, ebx
movzx eax, word [r11]
xor edi, edi
lea rcx, [rax + rax*2]
mov edx, dword [rsi + rcx*8]
lea r11, [rsi + rcx*8]
mov r8d, edx
mov eax, edx
shr r8d, 0x1c
cmp r8d, 8
jne 0x1800befbf
shr edx, 0x10
cmp dl, 1
jne 0x1800befc5
or ebx, dword [r11 + 4]
movzx eax, ax
jmp 0x1800bef94
cmp r8d, 5
jne 0x1800befca
movzx eax, ax
jmp 0x1800bef94
mov ecx, dword [r10]
and eax, 0x3000000
or ebx, eax
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x1800bf023
movzx eax, cx
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8]
lea r10, [rsi + rcx*8]
mov r9d, eax
mov ecx, eax
shr ecx, 0x1c
cmp ecx, 8
jne 0x1800bf00e
shr eax, 0x10
cmp al, 1
jne 0x1800bf013
or edi, dword [r10 + 4]
movzx eax, r9w
jmp 0x1800befe5
cmp ecx, 5
jne 0x1800bf019
movzx eax, r9w
jmp 0x1800befe5
and r9d, 0x3000000
or edi, r9d
test bpl, 4
je 0x1800bf033
cmp ebx, edi
jne 0x1800bf0c0
jmp 0x1800bf056
test bpl, 8
jne 0x1800bf056
mov eax, edi
and eax, ebx
cmp eax, edi
jne 0x1800bf0c0
cmp r8d, 4
je 0x1800bf08d
mov eax, dword [r10]
and eax, 0xf0000000
cmp eax, 0x40000000
je 0x1800bf08d
mov ecx, dword [r10]
mov eax, ecx
shr eax, 0x1c
cmp r8d, eax
jne 0x1800bf0c0
mov eax, dword [r10 + 4]
cmp dword [r11 + 4], eax
jne 0x1800bf0c0
test r8d, r8d
je 0x1800bf0b6
and edx, 0xe0000000
cmp edx, 0x20000000
jne 0x1800bf0a9
or ebp, 4
test bpl, 1
je 0x1800bef80
mov eax, 1
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
cmp r8d, 1
jne 0x1800bf08d
cmp r11, r10
jne 0x1800bf0c0
jmp 0x1800bf08d
xor ecx, edx
test ecx, 0xc000000
je 0x1800bf08d
xor eax, eax
jmp 0x1800bf092
Function at 0x1800c26d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x4500
shr r8, 2
or dx, ax
mov word [rcx + 0xba], r8w
mov eax, 0x7fff
mov word [rcx + 0xbc], dx
mov word [rcx + 0xb8], ax
jmp fcn.1800cc0b0
Function at 0x1800c62b0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x6c]
mov esi, r8d
inc eax
mov rdi, rdx
mov dword [rcx + 0x6c], eax
mov rbx, rcx
cmp eax, 0x14
jg 0x1800c6305
call fcn.1800c5e90
mov rdx, rdi
mov rcx, rbx
call fcn.1800c5c60
dec dword [rbx + 0x6c]
mov r8d, esi
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1800c5410
mov edx, 0x8d0
call fcn.1800c5230
int3