joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000c5d0
Capabilities:
Read file on windows

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x30
mov r15, r8
mov r14, rdx
mov rbx, rcx
test r8, r8
jg 0x14000c5f4
xor eax, eax
add rsp, 0x30
pop r15
pop r14
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
je 0x14000c682
mov rdi, r15
mov qword [rsp + 0x68], rbp
lea rsi, [rcx + 0x50]
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x14000c650
mov rax, qword [rsi]
movsxd rcx, dword [rax]
test ecx, ecx
jle 0x14000c650
cmp rdi, rcx
mov rbp, rdi
cmovge rbp, rcx
mov rcx, r14
mov r8, rbp
call fcn.1400aa4c0
mov rax, qword [rsi]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x14000c66d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x14000c675
mov byte [r14], al
lea rsi, [rbx + 0x50]
dec rdi
mov ebp, 1
add r14, rbp
test rdi, rdi
jg 0x14000c611
mov rbp, qword [rsp + 0x68]
sub r15, rdi
jmp 0x14000c760
mov rax, qword [rcx + 0x38]
mov rsi, r15
mov rdx, qword [rax]
test rdx, rdx
je 0x14000c699
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14000c69b
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14000c6cd
cmp rax, r15
mov rdi, r15
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.1400aa4c0
mov rax, qword [rbx + 0x50]
add r14, rdi
sub rsi, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x14000c75d
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14000c708
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
cmp rsi, 0xfff
jbe 0x14000c73e
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call fcn.14007e9dc
add r14, rax
sub rsi, rax
cmp rax, 0xfff
jne 0x14000c75d
cmp rsi, rax
ja 0x14000c711
test rsi, rsi
je 0x14000c75d
mov r9, qword [rbx + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.14007e9dc
sub rsi, rax
sub r15, rsi
mov rsi, qword [rsp + 0x28]
mov rax, r15
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r15
pop r14
pop rbx
ret
Function at 0x140015d20
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 0x140015de8
mov qword [rsp + 0x40], r15
lea r15, fcn.140019f50
nop dword [rax]
mov eax, ebp
dec ebp
test eax, eax
je 0x140015dcd
cmp byte [rbx + 9], 6
jne 0x140015d80
lea rdx, [rbx + 0x40]
mov r8d, 0xffffffff
mov rcx, rsi
call fcn.140015d20
movzx ecx, byte [rbx + 8]
mov eax, ecx
xor eax, 3
test r14d, eax
je 0x140015da1
movzx eax, byte [rsi + 0x20]
and cl, 0xf8
and al, 3
mov rdi, rbx
or cl, al
mov byte [rbx + 8], cl
jmp 0x140015dc5
mov rax, qword [rbx]
mov qword [rdi], rax
cmp rbx, qword [rsi + 0x28]
jne 0x140015db4
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 0x140015d60
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 0x140015dd5

Function at 0x140018e20
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 0x140018f34
mov r9, qword [rdx]
movzx eax, r9b
and al, 7
cmp al, 3
jne 0x140018e5d
and r9, 0xfffffffffffffff8
sub rdx, r9
mov r9, qword [rdx]
mov rcx, rdx
test r9b, 3
jne 0x140018e78
movzx eax, byte [r9 - 3]
lea rax, [rax*8 + 0x10]
sub rcx, rax
jmp 0x140018e7f
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.140018470
cmp eax, 0xffffffff
je 0x140018f34
mov rcx, qword [rdi + 0x20]
lea r8, [0x1400b0b10]
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 0x140018f04
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.140019650
cmp r8d, 0x16
je 0x140018f34
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 0x140019650
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.1400187e0
test rax, rax
jne 0x140019702
lea rsi, [rbp + 0x68]
lea r15, [0x1400b0b10]
sub rbx, 4
cmp rbx, rsi
jbe 0x1400196cb
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 0x1400196cf
cmp edi, r8d
jb 0x140019694
cmp edx, 0x2c
jne 0x1400196cb
shr eax, 0x10
cmp edi, eax
ja 0x140019694
xor eax, eax
jmp 0x14001970c
cmp cx, 1
jne 0x140019694
cmp r8d, edi
jne 0x140019694
cmp edx, 0x12
jne 0x140019725
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.1400187e0
test rax, rax
je 0x140019694
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 0x1400197c1
cmp edx, 0x36
je 0x14001979c
cmp edx, 0x39
jne 0x1400196cb
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 0x140019790
mov ecx, r9d
shr ecx, 8
movzx edx, cl
lea ecx, [r8 + 2]
cmp edx, ecx
jne 0x140019790
shr eax, 8
lea rcx, str.method
xor eax, r9d
test eax, 0xffff0000
lea rax, str.field
cmove rax, rcx
jmp 0x14001970c
lea rax, str.field
jmp 0x14001970c
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 0x14001970c
mov rdx, qword [rbp + 0x58]
shr eax, 0x10
test rdx, rdx
jne 0x1400197e3
lea rdx, [0x1400c4898]
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x14001970c
test eax, eax
je 0x1400197ff
nop word [rax + rax]
movzx ecx, byte [rdx]
inc rdx
test cl, cl
jne 0x1400197f0
add eax, 0xffffffff
jne 0x1400197f0
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x14001970c

Function at 0x140019cf0
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
ror r10d, 0x1c
bswap r10d
cmp r9d, 0xc
jbe 0x140019d83
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
ror edx, 0x12
mov r8, rbx
sub r11d, edx
add rbx, 0xc
xor ecx, r11d
mov eax, r11d
ror eax, 0x15
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 0x140019d20
ror eax, 0x10
mov edx, r10d
xor edx, r11d
sub edx, eax
xor ecx, edx
mov eax, edx
ror eax, 0x1c
sub ecx, eax
mov eax, ecx
xor ecx, r10d
ror eax, 0x12
sub ecx, eax
mov eax, ecx
mov rbx, qword [rsp + 8]
ret
mov rbx, qword [rsp + 8]
mov eax, r10d
ret
Function at 0x14001be20
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.1400170c0
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 0x14001bf04
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.1400170c0
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 0x14001bea0
mov r14, qword [rsp + 0x48]
mov rax, rdi
mov rsi, qword [rsp + 0x40]
mov byte [rdi + 0xb], r15b
jmp 0x14001bf08
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 0x140024f50
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x1400d26d0]
mov rbx, rcx
test rax, rax
jne 0x140024f9c
xor r8d, r8d
lea rcx, str.advapi32.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
test rax, rax
je 0x14002500b
lea rdx, str.SystemFunction036
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d26d0], rax
test rax, rax
je 0x14002500b
mov edx, 0x20
mov rcx, rbx
call rax
test al, al
je 0x14002500b
mov rax, qword [rbx]
cmp rax, 2
jae 0x140024fba
add rax, 2
mov qword [rbx], rax
mov rax, qword [rbx + 8]
cmp rax, 0x40
jae 0x140024fcc
add rax, 0x40
mov qword [rbx + 8], rax
mov rax, qword [rbx + 0x10]
cmp rax, 0x200
jae 0x140024fe2
add rax, 0x200
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
cmp rax, 0x20000
jae 0x140024ff8
add rax, 0x20000
mov qword [rbx + 0x18], rax
mov rcx, rbx
call fcn.140025020
mov eax, 1
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x140028d40
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 0x140028da5
movsx edx, al
inc rbx
cmp edx, 0x66
je 0x140028d8c
cmp edx, 0x69
je 0x140028e47
cmp edx, 0x6c
jne 0x140028d9e
mov rax, qword [rsi + 0x10]
mov rcx, rsi
mov dword [rax + 0xefc], edx
call fcn.14001da10
movzx eax, byte [rbx]
test al, al
jne 0x140028d73
mov rbx, qword [0x1400d26e0]
mov qword [rsp + 0x50], r14
lea r14, [rsi + 0x10]
test rbx, rbx
je 0x140028e86
cmp qword [r14], rbx
jne 0x140028e7d
mov rcx, qword [0x1400d2768]
mov edx, 0xffffffff
mov dword [0x1400d2770], 1
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, [0x1400d2740]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
and byte [rbx + 0x91], 0x7f
mov rcx, rbx
call fcn.1400241b0
mov rcx, rsi
mov dword [rbx + 0xefc], r12d
call fcn.14001da10
mov r8d, dword [0x1400d2700]
xor r9d, r9d
sub r8d, dword [0x1400d2708]
mov rdx, qword [0x1400d2708]
sub qword [rbx + 0x10], r8
mov rcx, qword [rbx + 8]
call qword [rbx]
mov qword [0x1400d2700], r12
mov qword [0x1400d26f8], r12
mov qword [0x1400d26e0], r12
jmp 0x140028e86
movzx eax, byte [rbx]
mov edi, r12d
cmp al, 0x30
jl 0x140028e73
cmp al, 0x39
ja 0x140028e6b
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 0x140028e51
test edi, edi
jg 0x140028d9e
mov edi, 1
jmp 0x140028d9e
test rbx, rbx
jne 0x140028f74
cmp qword [0x1400d2728], r12
mov rax, qword [r14]
mov qword [0x1400d26e0], rax
mov dword [0x1400d2718], edi
mov qword [0x1400d26e8], r15
mov qword [0x1400d26f0], rbp
mov dword [0x1400d271c], r12d
mov qword [0x1400d2710], rsi
mov qword [0x1400d2708], r12
mov qword [0x1400d2700], r12
mov qword [0x1400d26f8], r12
jne 0x140028f37
xor r8d, r8d
lea rcx, str.winmm.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov qword [0x1400d2728], rax
test rax, rax
je 0x140028f37
lea rdx, str.timeBeginPeriod
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400d2728]
lea rdx, str.timeEndPeriod
mov qword [0x1400d2730], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1400d2730], r12
mov qword [0x1400d2738], rax
je 0x140028f2e
test rax, rax
jne 0x140028f37
mov qword [0x1400d2728], r12
jmp 0x140028f74
lea rcx, [0x1400d2740]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea r9, [0x1400d26e0]
mov qword [rsp + 0x28], r12
lea r8, [0x140029060]
mov dword [0x1400d2770], r12d
xor edx, edx
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1400d2768], 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 0x140040860
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 0x1400408a1
mov eax, dword [rcx]
test eax, eax
je 0x140040891
bsf ecx, eax
cmp ecx, r8d
jb 0x14004089b
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 0x140040943
mov edx, r9d
and r9b, 0x30
shr edx, 0x18
lea r8d, [rdx - 1]
cmp r9b, 0x20
jne 0x1400408ef
mov eax, 0x38e38e39
mov r14d, 0x3f
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub r14d, edx
jmp 0x140040950
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 [0x1400b1128]
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 0x140040950
mov r14d, esi
cmp edi, 9
jb 0x1400409ed
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 0x1400409a9
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 0x140040980
cmp r11d, r14d
je 0x1400409cc
cmp r11d, esi
je 0x1400409cc
test r9d, r9d
je 0x1400409c3
dec r11d
and r11d, 0x3f
mov dword [rbx + r11*4], r9d
cmp dword [rbx + r10*4], 0
jne 0x1400409e1
jmp 0x1400409d8
cmp dword [rbx + r10*4], 0
jne 0x1400409e1
cmp r10d, r11d
je 0x140040a57
dec r10d
and r10d, 0x3f
dec esi
add edi, 0xfffffff7
cmp edi, 9
jae 0x140040950
test edi, edi
je 0x140040a57
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 0x140040a47
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 0x140040a20
test r9d, r9d
je 0x140040a57
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 0x140058a10
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 0x140058b4d
nop dword [rax]
cmp r11, r10
je 0x140058b4d
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 0x140058a7f
shr edx, 0x10
cmp dl, 1
jne 0x140058a85
or ebx, dword [r11 + 4]
movzx eax, ax
jmp 0x140058a54
cmp r8d, 5
jne 0x140058a8a
movzx eax, ax
jmp 0x140058a54
mov ecx, dword [r10]
and eax, 0x3000000
or ebx, eax
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x140058ae3
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 0x140058ace
shr eax, 0x10
cmp al, 1
jne 0x140058ad3
or edi, dword [r10 + 4]
movzx eax, r9w
jmp 0x140058aa5
cmp ecx, 5
jne 0x140058ad9
movzx eax, r9w
jmp 0x140058aa5
and r9d, 0x3000000
or edi, r9d
test bpl, 4
je 0x140058af3
cmp ebx, edi
jne 0x140058b80
jmp 0x140058b16
test bpl, 8
jne 0x140058b16
mov eax, edi
and eax, ebx
cmp eax, edi
jne 0x140058b80
cmp r8d, 4
je 0x140058b4d
mov eax, dword [r10]
and eax, 0xf0000000
cmp eax, 0x40000000
je 0x140058b4d
mov ecx, dword [r10]
mov eax, ecx
shr eax, 0x1c
cmp r8d, eax
jne 0x140058b80
mov eax, dword [r10 + 4]
cmp dword [r11 + 4], eax
jne 0x140058b80
test r8d, r8d
je 0x140058b76
and edx, 0xe0000000
cmp edx, 0x20000000
jne 0x140058b69
or ebp, 4
test bpl, 1
je 0x140058a40
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 0x140058b4d
cmp r11, r10
jne 0x140058b80
jmp 0x140058b4d
xor ecx, edx
test ecx, 0xc000000
je 0x140058b4d
xor eax, eax
jmp 0x140058b52
Function at 0x14005c200
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x4500
shr r8, 2
or dx, ax
mov word [rcx + 0xb8], 0x7fff
mov word [rcx + 0xbc], dx
mov word [rcx + 0xba], r8w
jmp fcn.140065bb0
Function at 0x14005fe40
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 0x14005fe95
call fcn.14005fa20
mov rdx, rdi
mov rcx, rbx
call fcn.14005f7f0
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.14005efa0
mov edx, 0x8d0
call fcn.14005edc0
int3
Function at 0x140065bb0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, rcx
lea r14, [0x140000000]
mov ecx, dword [rcx + 0xa8]
mov eax, ecx
and eax, 0xfff0000
cmp eax, 0x3ff0000
je 0x140065c6a
bt ecx, 0x10
jb 0x140065c08
movzx eax, byte [rdi + 0xbd]
test byte [rax + r14 + 0xb1560], 0x60
jne 0x140065c08
mov rcx, rdi
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.1400625e0
mov eax, ecx
and eax, 0xb0000
cmp eax, 0xb0000
je 0x140065c46
movzx r8d, byte [rdi + 0xbd]
movzx eax, byte [r8 + r14 + 0xb1560]
and al, 0x60
cmp al, 0x40
jne 0x140065c46
cmp r8b, 0x47
je 0x140065c46
mov rcx, rdi
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.14005c170
and ecx, 0x110000
cmp ecx, 0x110000
je 0x140065c6a
movzx eax, byte [rdi + 0xbd]
movzx eax, byte [rax + r14 + 0xb1560]
and al, 0x60
cmp al, 0x60
je 0x140065c33
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
mov ebp, 0x7ffd
mov qword [rsp + 0x40], rsi
nop
movzx edx, byte [rdi + 0xbd]
movzx r8d, word [rdi + 0xb8]
mov r10d, dword [rdi + 0x28]
shl edx, 0x11
cmp r8d, r10d
jb 0x140065cc9
mov rax, qword [rdi + 0x20]
lea r9, [rax + r8*8]
movzx eax, byte [rax + r8*8 + 5]
shl eax, 0xa
add edx, eax
mov rax, qword [r9]
mov qword [rdi + 0xc0], rax
cmp r8w, bp
jae 0x140065cc9
mov rax, qword [r9 + 8]
mov qword [rdi + 0xc8], rax
movzx r8d, word [rdi + 0xba]
cmp r8d, r10d
jb 0x140065d02
mov rax, qword [rdi + 0x20]
movzx ecx, byte [rax + r8*8 + 5]
lea r9, [rax + r8*8]
mov rax, qword [rax + r8*8]
mov qword [rdi + 0xd0], rax
cmp r8w, bp
jae 0x140065d0b
mov rax, qword [r9 + 8]
mov qword [rdi + 0xd8], rax
jmp 0x140065d0b
mov ecx, r8d
and ecx, 0x3ff
lea esi, [rcx + rdx]
xor ebx, ebx
mov r9d, ebx
and r9d, 0x1ffff
or r9d, esi
mov r8d, r9d
mov ecx, r9d
ror r8d, 0xb
and ecx, 0xfffff800
sub r8d, r9d
mov eax, r9d
shl eax, 0xb
sub ecx, eax
shr r8d, 0x12
shl ecx, 3
mov eax, 0x5e1d27b
or r8d, ecx
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 9
imul eax, eax, 0x3e9
sub r8d, eax
mov ecx, dword [r14 + r8*4 + 0xb23a0]
mov eax, ecx
and eax, 0xffffff
cmp eax, r9d
je 0x140065d8b
lea eax, [r8 + 1]
mov ecx, dword [r14 + rax*4 + 0xb23a0]
mov eax, ecx
and eax, 0xffffff
cmp eax, r9d
jne 0x140065da3
mov eax, ecx
mov rcx, rdi
shr rax, 0x18
call qword [r14 + rax*8 + 0xb1eb0]
movzx edx, ax
test edx, edx
jne 0x140065dbd
cmp ebx, 0xfffff
je 0x140065de0
mov eax, ebx
shr eax, 0xa
or ebx, eax
xor ebx, 0xffc00
jmp 0x140065d10
cmp edx, 5
jae 0x140065df6
cmp edx, 1
je 0x140065c80
cmp edx, 2
jne 0x140065dea
mov edx, dword [rdi + 0xb8]
mov rcx, rdi
call fcn.14005c580
jmp 0x140065e04
mov rcx, rdi
call fcn.1400625e0
jmp 0x140065e04
cmp edx, 3
je 0x140065e1f
mov eax, 0xffff
jmp 0x140065e04
mov rax, qword [rdi + 0x20]
movzx eax, byte [rax + rdx*8 + 4]
shl eax, 0x18
add eax, edx
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov edx, 0x18
mov rcx, rdi
call fcn.14001d630
int3
Function at 0x140065e30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
movzx r11d, word [rdx + 2]
mov r14, rcx
movzx r9d, word [r8 + 2]
cmp rdx, r8
je 0x140065f87
mov r10, qword [rcx + 0x20]
cmp byte [r10 + r11*8 + 5], 0x1e
lea rbx, [r10 + r11*8]
jne 0x140065e67
movzx r11d, word [rbx]
lea rbx, [r10 + r11*8]
cmp byte [r10 + r9*8 + 5], 0x1e
lea rcx, [r10 + r9*8]
jne 0x140065e7b
movzx r9d, word [rcx]
lea rcx, [r10 + r9*8]
movzx edi, byte [rdx + 5]
lea eax, [rdi - 0x38]
cmp al, 1
jbe 0x140065e8b
movzx eax, word [rdx]
jmp 0x140065e93
movzx eax, word [rdx]
movzx eax, word [r10 + rax*8]
movzx edx, ax
movzx eax, byte [r8 + 5]
sub al, 0x38
cmp al, 1
jbe 0x140065ea7
movzx eax, word [r8]
jmp 0x140065eb0
movzx eax, word [r8]
movzx eax, word [r10 + rax*8]
movzx r8d, ax
cmp r11d, r9d
jne 0x140065ed2
cmp edx, r8d
je 0x140065f87
mov rcx, r14
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp fcn.140066030
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r15
mov r15d, 0x8000
cmp r11d, r15d
jae 0x140065ef5
cmp r9d, r15d
jb 0x140065f79
cmp dil, 0x38
jne 0x140065f6e
xor esi, esi
mov ebp, r11d
cmp byte [rbx + 5], 0x29
mov edi, esi
jne 0x140065f22
movzx eax, word [rbx + 2]
cmp ax, r15w
jae 0x140065f22
movzx ebp, word [rbx]
mov esi, dword [r10 + rax*8]
cmp ebp, r9d
jne 0x140065f22
test esi, esi
jne 0x140065f79
cmp byte [rcx + 5], 0x29
jne 0x140065f43
movzx eax, word [rcx + 2]
cmp ax, r15w
jae 0x140065f43
movzx r9d, word [rcx]
mov edi, dword [r10 + rax*8]
cmp r11d, r9d
jne 0x140065f43
test edi, edi
jne 0x140065f79
cmp ebp, r9d
jne 0x140065f4c
cmp esi, edi
jne 0x140065f79
cmp edx, r8d
jne 0x140065f7d
mov eax, 1
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
movzx eax, byte [rcx + 4]
xor al, byte [rbx + 4]
test al, 0x1f
je 0x140065f4c
xor eax, eax
jmp 0x140065f56
mov rcx, r14
call fcn.140066030
jmp 0x140065f56
mov eax, 2
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret