joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47be90
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x678
lea rbx, [rsp + 0x40]
mov r13, rdx
mov r12, r8
mov qword [rsp + 0x48], rcx
lea rdi, [rsp + 0x250]
mov rsi, rcx
mov rdx, rbx
mov dword [rsp + 0x40], 1
lea r14d, [rsi + 1]
mov r8d, 0x208
mov rcx, rdi
call sym.memcpy
lea rbp, [rsp + 0x460]
mov r8d, 0x208
mov rdx, rbx
mov rcx, rbp
call sym.memcpy
mov dword [rsp + 0x3c], r12d
mov r15, qword [sym.imp.msvcrt.dll__errno]
mov r12, qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x38], r13d
lea r13, [rsp + 0x38]
mov qword [rsp + 0x20], r13
mov r9, rbp
mov r8, rdi
mov rdx, rbx
mov ecx, r14d
call r12
cdqe
test rax, rax
jns 0x47bf50
call r15
cmp dword [rax], 4
je 0x47bf11
mov eax, 2
add rsp, 0x678
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
jne 0x47bf59
mov eax, 0xd
jmp 0x47bf39
mov rdx, rbx
mov rcx, rsi
call sym.__WSAFDIsSet
test eax, eax
jne 0x47bf77
mov rdx, rdi
mov rcx, rsi
call sym.__WSAFDIsSet
test eax, eax
je 0x47bf34
lea rax, [rsp + 0x34]
mov dword [rsp + 0x30], 0
mov r8d, 0x1007
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov dword [rsp + 0x34], 4
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
js 0x47bf34
cmp dword [rsp + 0x30], 1
sbb eax, eax
not eax
and eax, 2
jmp 0x47bf39
Function at 0x47ce40
Capabilities:
Initialize winsock library

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
xor ebx, ebx
mov ebp, 1
mov rax, qword [r9]
movdqa xmm0, xmmword [rsp + 0x40]
mov r10, qword [r9 + 0x10]
mov rdi, rdx
mov rdx, qword [r9 + 8]
mov qword [rsp + 0x40], rax
mov rsi, rcx
mov rax, qword [r9 + 0x18]
movups xmmword [r9], xmm0
lea r13, [rsp + 0x20]
mov r12d, r8d
mov qword [r9 + 0x10], 0
lea r14, [rsp + 0x28]
mov qword [rsp + 0x50], r10
lea r15, [rsp + 0x40]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rax
mov qword [r9 + 0x18], rdx
xor edx, edx
jmp 0x47ceb4
mov rbx, rax
test rdi, rdi
je 0x47cf90
lea rax, [rsi + rbx]
cmp rdi, rax
seta al
test al, al
je 0x47cf9f
cmp r12b, byte [rsi + rbx]
lea rax, [rbx + 1]
jne 0x47ceb1
cmp rbp, 0xffffffffffffffff
je 0x47ceb1
lea r8, [rsi + rdx]
cmp rdi, r8
jbe 0x47cf23
movzx eax, byte [r8]
cmp al, 9
je 0x47cef4
cmp al, 0x20
jne 0x47cf23
lea rax, [rdx + 1]
lea rcx, [rsi + rax]
jmp 0x47cf18
movzx r9d, byte [rcx]
add rcx, 1
cmp r9b, 0x20
je 0x47cf14
cmp r9b, 9
jne 0x47cf23
add rax, 1
cmp rdi, rcx
mov rdx, rax
mov r8, rcx
ja 0x47cf00
test rbx, rbx
je 0x47cf7f
movzx eax, byte [rsi + rbx - 1]
lea r9, [rbx - 1]
cmp al, 9
je 0x47cf3d
cmp al, 0x20
jne 0x47d031
test r9, r9
je 0x47cf7f
movzx ecx, byte [rsi + rbx - 2]
lea rax, [rbx - 2]
cmp cl, 9
je 0x47cf7a
cmp cl, 0x20
je 0x47cf7a
jmp 0x47d0a5
movzx ecx, byte [rsi + rax - 1]
lea r9, [rax - 1]
cmp cl, 0x20
je 0x47cf77
cmp cl, 9
jne 0x47d034
mov rax, r9
test rax, rax
jne 0x47cf60
lea rax, [rbx + 1]
add rbp, 1
mov rdx, rax
jmp 0x47ceb1
cmp byte [rsi + rbx], 0
setne al
test al, al
jne 0x47cecf
test rbx, rbx
je 0x47d009
lea r9, [rsi + rdx]
cmp rdi, r9
jbe 0x47cff0
movzx eax, byte [r9]
cmp al, 0x20
je 0x47cfb9
cmp al, 9
jne 0x47cff0
lea rax, [rdx + 1]
lea rcx, [rsi + rax]
jmp 0x47cfdb
movzx r8d, byte [rcx]
add rcx, 1
cmp r8b, 0x20
je 0x47cfd7
cmp r8b, 9
jne 0x47cff0
add rax, 1
cmp rdi, rcx
mov rdx, rax
mov r9, rcx
ja 0x47cfc3
nop word cs:[rax + rax]
movzx eax, byte [rsi + rbx - 1]
lea rcx, [rbx - 1]
cmp al, 0x20
je 0x47d001
cmp al, 9
jne 0x47d071
test rcx, rcx
mov rbx, rcx
jne 0x47cff0
test r10, r10
je 0x47d020
lea rcx, [rsp + 0x40]
mov r8d, 3
mov rdx, rcx
call r10
nop
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, rbx
cmp rax, rdx
jbe 0x47cf7f
add rax, rsi
test r10, r10
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rax
je 0x47d0aa
mov r8, r13
mov rdx, r14
mov rcx, r15
call qword [rsp + 0x58]
lea rax, [rbx + 1]
mov r10, qword [rsp + 0x50]
add rbp, 1
mov rdx, rax
jmp 0x47ceb1
cmp rdx, rbx
jae 0x47d009
add rbx, rsi
test r10, r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rbx
je 0x47d0af
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x30]
call qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
jmp 0x47d009
mov rax, r9
jmp 0x47d034
call sym.std::__throw_bad_function_call__
call sym.std::__throw_bad_function_call__
mov rbx, rax
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x47d0d1
lea rcx, [rsp + 0x40]
mov r8d, 3
mov rdx, rcx
call rax
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
Function at 0x47d0e0
Capabilities:
Initialize winsock library

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor ebx, ebx
mov r13d, 1
mov rsi, rcx
mov rdi, rdx
mov r14, r9
lea rbp, [rsp + 0x28]
mov r12d, r8d
xor ecx, ecx
lea r15, [rsp + 0x20]
jmp 0x47d136
lea rax, [rsi + rbx]
cmp rdi, rax
seta al
test al, al
je 0x47d146
cmp byte [rsi + rbx], r12b
lea rax, [rbx + 1]
jne 0x47d133
cmp r13, r14
jb 0x47d1c1
mov rbx, rax
test rdi, rdi
jne 0x47d112
cmp byte [rsi + rbx], 0
setne al
test al, al
jne 0x47d120
test rbx, rbx
je 0x47d1b0
lea r9, [rsi + rcx]
cmp rdi, r9
jbe 0x47d193
movzx eax, byte [r9]
cmp al, 0x20
je 0x47d160
cmp al, 9
jne 0x47d193
lea rdx, [rcx + 1]
lea rax, [rsi + rdx]
jmp 0x47d188
movzx r8d, byte [rax]
add rax, 1
cmp r8b, 0x20
je 0x47d184
cmp r8b, 9
jne 0x47d193
add rdx, 1
cmp rdi, rax
mov rcx, rdx
mov r9, rax
ja 0x47d170
movzx eax, byte [rsi + rbx - 1]
lea rdx, [rbx - 1]
cmp al, 0x20
je 0x47d1a8
cmp al, 9
jne 0x47d2b0
test rdx, rdx
mov rbx, rdx
jne 0x47d193
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r10, [rsi + rcx]
cmp rdi, r10
jbe 0x47d203
movzx eax, byte [r10]
cmp al, 0x20
je 0x47d1d6
cmp al, 9
jne 0x47d203
lea rdx, [rcx + 1]
lea rax, [rsi + rdx]
jmp 0x47d1f8
movzx r8d, byte [rax]
add rax, 1
cmp r8b, 0x20
je 0x47d1f4
cmp r8b, 9
jne 0x47d203
add rdx, 1
cmp rdi, rax
mov rcx, rdx
mov r10, rax
ja 0x47d1e0
test rbx, rbx
je 0x47d25b
movzx eax, byte [rsi + rbx - 1]
lea r8, [rbx - 1]
cmp al, 0x20
je 0x47d219
cmp al, 9
jne 0x47d26b
test r8, r8
je 0x47d25b
movzx edx, byte [rsi + rbx - 2]
lea rax, [rbx - 2]
cmp dl, 9
je 0x47d256
cmp dl, 0x20
je 0x47d256
jmp 0x47d2ea
movzx edx, byte [rsi + rax - 1]
lea r8, [rax - 1]
cmp dl, 0x20
je 0x47d253
cmp dl, 9
jne 0x47d270
mov rax, r8
test rax, rax
jne 0x47d240
lea rax, [rbx + 1]
add r13, 1
mov rcx, rax
jmp 0x47d133
mov rax, rbx
nop
cmp rax, rcx
jbe 0x47d25b
add rax, rsi
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x10], 0
je 0x47d2ef
mov rcx, rax
mov r8, rbp
mov rdx, r15
call qword [rax + 0x18]
lea rax, [rbx + 1]
add r13, 1
mov rcx, rax
jmp 0x47d133
cmp rcx, rbx
jae 0x47d1b0
mov rax, qword [rsp + 0xb0]
add rbx, rsi
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], rbx
cmp qword [rax + 0x10], 0
je 0x47d2ef
lea rdx, [rsp + 0x30]
mov rcx, rax
lea r8, [rsp + 0x38]
call qword [rax + 0x18]
jmp 0x47d1b0
mov rax, r8
jmp 0x47d270
call sym.std::__throw_bad_function_call__
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

Function at 0x47d300
Capabilities:
Initialize winsock library

Disassembly:
push rbx
sub rsp, 0x1c0
mov byte [rcx], 0
lea rdx, [rsp + 0x20]
mov rbx, rcx
mov ecx, 2
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x47d325
mov byte [rbx], 1
add rsp, 0x1c0
pop rbx
ret
Function at 0x49c860
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
xor esi, esi
mov rdx, qword [rcx + 0x20]
mov rbx, rcx
mov rcx, qword [rcx + 8]
mov r8, qword [rbx + 0x28]
call method.httplib::detail.select_write_unsigned_long_long__long_long__long_long_
test rax, rax
jg 0x49c892
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rdi, qword [rbx + 8]
xor edx, edx
mov rcx, rdi
call method.httplib::detail.select_read_unsigned_long_long__long_long__long_long___clone_.constprop.3624_
test rax, rax
je 0x49c900
js 0x49c8f2
mov rsi, qword [sym.imp.WS2_32.dll_recv]
lea rbp, [rsp + 0x2f]
mov r12, qword [sym.imp.msvcrt.dll__errno]
mov r9d, 2
mov r8d, 1
mov rdx, rbp
mov rcx, rdi
call rsi
movsxd rbx, eax
test rbx, rbx
jns 0x49c8de
call r12
cmp dword [rax], 4
je 0x49c8ba
test rbx, rbx
setg sil
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 9
jne 0x49c8a7
jmp 0x49c885
mov esi, 1
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x49c920
Capabilities:
Get local ipv4 addresses
Get socket information
Resolve dns

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4e8
mov rcx, qword [rcx + 8]
lea rbx, [rsp + 0x50]
mov rsi, rdx
mov rdi, r8
mov dword [rsp + 0x4c], pe_nt_image_headers64
lea r8, [rsp + 0x4c]
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x49c960
add rsp, 0x4e8
pop rbx
pop rsi
pop rdi
pop rbp
ret
movzx eax, word [rsp + 0x50]
mov ebp, dword [rsp + 0x4c]
cmp ax, 2
je 0x49c975
cmp ax, 0x17
jne 0x49c954
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
xor edx, edx
mov r8d, 0x401
movzx eax, ax
mov dword [rdi], eax
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call sym.memset
mov r9d, 0x401
mov r8, rdi
mov edx, ebp
mov dword [rsp + 0x30], 2
mov rcx, rbx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x49c954
mov rdx, rdi
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49c9d1
mov ecx, eax
mov r8, qword [rsi + 8]
mov r9, rdi
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
mov ebx, eax
cmove rdx, rcx
add bl, al
mov rcx, rsi
sbb rdx, 3
sub rdx, rdi
mov qword [rsp + 0x20], rdx
xor edx, edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_unsigned_long_long__unsigned_long_long__char_const__unsigned_long_long_
nop
add rsp, 0x4e8
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x49ca30
Capabilities:
Resolve dns

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4e8
mov rcx, qword [rcx + 8]
lea rbx, [rsp + 0x50]
mov rsi, rdx
mov rdi, r8
mov dword [rsp + 0x4c], pe_nt_image_headers64
lea r8, [rsp + 0x4c]
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
je 0x49ca70
add rsp, 0x4e8
pop rbx
pop rsi
pop rdi
pop rbp
ret
movzx eax, word [rsp + 0x50]
mov ebp, dword [rsp + 0x4c]
cmp ax, 2
je 0x49ca85
cmp ax, 0x17
jne 0x49ca64
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
xor edx, edx
mov r8d, 0x401
movzx eax, ax
mov dword [rdi], eax
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call sym.memset
mov r9d, 0x401
mov r8, rdi
mov edx, ebp
mov dword [rsp + 0x30], 2
mov rcx, rbx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x49ca64
mov rdx, rdi
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49cae1
mov ecx, eax
mov r8, qword [rsi + 8]
mov r9, rdi
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
mov ebx, eax
cmove rdx, rcx
add bl, al
mov rcx, rsi
sbb rdx, 3
sub rdx, rdi
mov qword [rsp + 0x20], rdx
xor edx, edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_unsigned_long_long__unsigned_long_long__char_const__unsigned_long_long_
nop
add rsp, 0x4e8
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x4a6e10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 0x28
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movdqa xmm1, xmmword [0x00519010]
pxor xmm7, xmm7
movdqa xmm2, xmmword [0x00519020]
movdqa xmm3, xmmword [0x00519030]
movdqa xmm4, xmmword [0x00519040]
lea rdx, [rcx + 0x380]
mov rax, rcx
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
movdqu xmm5, xmmword [rax - 0xc]
movdqu xmm6, xmmword [rax + 0x624]
pand xmm0, xmm1
pand xmm5, xmm2
por xmm0, xmm5
movdqa xmm5, xmm0
pand xmm0, xmm3
pcmpeqd xmm0, xmm7
psrld xmm5, 1
pxor xmm5, xmm6
movdqa xmm6, xmm5
pxor xmm6, xmm4
pand xmm5, xmm0
pandn xmm0, xmm6
por xmm0, xmm5
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
jne 0x4a6e50
mov r9d, dword [rcx + 0x384]
pxor xmm7, xmm7
mov edx, dword [rcx + 0x380]
mov eax, r9d
and eax, 0x7fffffff
and edx, 0x80000000
or edx, eax
mov eax, edx
shr eax, 1
xor eax, dword [rcx + 0x9b4]
mov r8d, eax
xor r8d, 0x9908b0df
and edx, 1
cmovne eax, r8d
mov r8d, dword [rcx + 0x388]
and r9d, 0x80000000
mov dword [rcx + 0x380], eax
mov edx, r8d
and edx, 0x7fffffff
or edx, r9d
mov eax, edx
shr eax, 1
xor eax, dword [rcx + 0x9b8]
mov r9d, eax
xor r9d, 0x9908b0df
and edx, 1
mov edx, dword [rcx + 0x38c]
cmovne eax, r9d
and r8d, 0x80000000
mov dword [rcx + 0x384], eax
and edx, 0x7fffffff
or edx, r8d
mov eax, edx
shr eax, 1
xor eax, dword [rcx + 0x9bc]
mov r8d, eax
xor r8d, 0x9908b0df
and edx, 1
cmovne eax, r8d
lea rdx, [rcx + 0x9bc]
mov dword [rcx + 0x388], eax
lea rax, [rcx + 0x38c]
movdqu xmm0, xmmword [rax]
add rax, 0x10
movdqu xmm5, xmmword [rax - 0xc]
movdqu xmm6, xmmword [rax - 0x39c]
pand xmm0, xmm1
pand xmm5, xmm2
por xmm0, xmm5
movdqa xmm5, xmm0
pand xmm0, xmm3
pcmpeqd xmm0, xmm7
psrld xmm5, 1
pxor xmm5, xmm6
movdqa xmm6, xmm5
pxor xmm6, xmm4
pand xmm5, xmm0
pandn xmm0, xmm6
por xmm0, xmm5
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
jne 0x4a6f65
mov edx, dword [rcx + 0x9bc]
mov qword [rcx + 0x9c0], 0
mov eax, dword [rcx]
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
and edx, 0x80000000
and eax, 0x7fffffff
or edx, eax
mov eax, edx
shr eax, 1
xor eax, dword [rcx + 0x630]
mov r8d, eax
xor r8d, 0x9908b0df
and edx, 1
cmovne eax, r8d
mov dword [rcx + 0x9bc], eax
add rsp, 0x28
ret
Function at 0x4bb3a0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push rbx
add rsp, 0xffffffffffffff80
mov dword [rsp + 0x24], edx
mov rbx, rcx
mov dword [rsp + 0x28], r8d
mov byte [rsp + 0x2c], r9b
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x20], 2
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rcx + 0x38]
cmp rdx, qword [rcx + 0x40]
je 0x4bb503
mov qword [rdx], rax
mov rax, qword [rsp + 0x58]
cmp dword [rsp + 0x50], 0xb
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x60]
mov qword [rdx + 0x10], rax
mov rax, qword [rsp + 0x68]
mov qword [rdx + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rdx + 0x20], rax
jne 0x4bb474
mov qword [rdx + 0x18], 0
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
movdqu xmm0, xmmword [rdx + 8]
movups xmmword [rsp + 0x58], xmm0
mov qword [rdx + 8], r9
mov qword [rdx + 0x10], r10
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], 0
mov qword [rdx + 0x18], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov qword [rdx + 0x20], rcx
mov rdx, qword [rbx + 0x38]
add rdx, 0x28
mov qword [rbx + 0x38], rdx
sub rdx, qword [rbx + 0x30]
mov rax, rdx
movabs rdx, 0xcccccccccccccccd
sar rax, 3
imul rax, rdx
cmp rax, 0x186a0
ja 0x4bb51a
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bb4c0
cmp dword [rsp + 0x20], 0xb
je 0x4bb4e1
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bb4a7
lea rcx, [rsp + 0x58]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bb4ae
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bb4ae
lea rcx, [rsp + 0x28]
mov r8d, 3
mov rdx, rcx
call rax
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
lea rcx, [rcx + 0x30]
lea r8, [rsp + 0x50]
call method.void_std::vector_std::__detail::_State_char___std::allocator_std::__detail::_State_char_____::_M_realloc_insert_std::__detail._State_char______gnu_cxx::__normal_iterator_std::__detail::_State_char___std::vector_std::__detail::_State_char___std::al
mov rdx, qword [rbx + 0x38]
jmp 0x4bb47c
lea rdx, [0x005174b0]
mov ecx, 9
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
cmp dword [rsp + 0x50], 0xb
mov rbx, rax
jne 0x4bb53f
lea rcx, [rsp + 0x50]
call method.std::__detail::_State_char_._State____clone_.part.2166_
cmp dword [rsp + 0x20], 0xb
jne 0x4bb550
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2166_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bb790
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push rsi
push rbx
sub rsp, 0x88
movabs r9, 0xffffffff0000000b
mov rax, qword [rdx]
mov r8, qword [rdx + 0x18]
mov r10, qword [rdx + 0x10]
movdqa xmm0, xmmword [rsp + 0x50]
lea rsi, [rsp + 0x50]
mov rbx, rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x58], rax
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov rdx, rsi
mov qword [rsp + 0x60], rcx
movdqu xmm1, xmmword [rsp + 0x58]
lea rcx, [rbx + 0x30]
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r8
movups xmmword [rsp + 0x28], xmm1
mov qword [rsp + 0x38], 0
call method.void_std::vector_std::__detail::_State_char___std::allocator_std::__detail::_State_char_____::emplace_back_std::__detail._State_char____std::__detail::_State_char__
movabs rdx, 0xcccccccccccccccd
mov rax, qword [rbx + 0x38]
sub rax, qword [rbx + 0x30]
sar rax, 3
imul rax, rdx
cmp rax, 0x186a0
ja 0x4bb89b
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bb855
cmp dword [rsp + 0x20], 0xb
je 0x4bb875
mov eax, ebx
add rsp, 0x88
pop rbx
pop rsi
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bb842
lea rcx, [rsi + 8]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bb849
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bb849
lea rcx, [rsp + 0x28]
mov r8d, 3
mov rdx, rcx
call rax
mov eax, ebx
add rsp, 0x88
pop rbx
pop rsi
ret
lea rdx, [0x005174b0]
mov ecx, 9
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
cmp dword [rsp + 0x50], 0xb
mov rbx, rax
jne 0x4bb8be
mov rcx, rsi
call method.std::__detail::_State_char_._State____clone_.part.2166_
cmp dword [rsp + 0x20], 0xb
jne 0x4bb8cf
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2166_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bb8e0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push rbx
add rsp, 0xffffffffffffff80
mov rbx, rcx
movabs rcx, 0xffffffff00000009
mov rax, qword [rbx + 8]
mov qword [rsp + 0x20], rcx
sub rax, 8
mov rdx, qword [rax]
mov qword [rsp + 0x50], rcx
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rbx + 0x38]
cmp rdx, qword [rbx + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
je 0x4bba43
mov qword [rdx], rcx
mov rax, qword [rsp + 0x58]
cmp dword [rsp + 0x50], 0xb
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x60]
mov qword [rdx + 0x10], rax
mov rax, qword [rsp + 0x68]
mov qword [rdx + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rdx + 0x20], rax
jne 0x4bb9b7
mov qword [rdx + 0x18], 0
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
movdqu xmm0, xmmword [rdx + 8]
movups xmmword [rsp + 0x58], xmm0
mov qword [rdx + 8], r9
mov qword [rdx + 0x10], r10
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], 0
mov qword [rdx + 0x18], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov qword [rdx + 0x20], rcx
mov rdx, qword [rbx + 0x38]
add rdx, 0x28
mov qword [rbx + 0x38], rdx
sub rdx, qword [rbx + 0x30]
mov rax, rdx
movabs rdx, 0xcccccccccccccccd
sar rax, 3
imul rax, rdx
cmp rax, 0x186a0
ja 0x4bba5a
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bba00
cmp dword [rsp + 0x20], 0xb
je 0x4bba21
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bb9ea
lea rcx, [rsp + 0x58]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bb9f1
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bb9f1
lea rcx, [rsp + 0x28]
mov r8d, 3
mov rdx, rcx
call rax
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
lea rcx, [rbx + 0x30]
lea r8, [rsp + 0x50]
call method.void_std::vector_std::__detail::_State_char___std::allocator_std::__detail::_State_char_____::_M_realloc_insert_std::__detail._State_char______gnu_cxx::__normal_iterator_std::__detail::_State_char___std::vector_std::__detail::_State_char___std::al
mov rdx, qword [rbx + 0x38]
jmp 0x4bb9bf
lea rdx, [0x005174b0]
mov ecx, 9
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
cmp dword [rsp + 0x50], 0xb
mov rbx, rax
jne 0x4bba7f
lea rcx, [rsp + 0x50]
call method.std::__detail::_State_char_._State____clone_.part.2166_
cmp dword [rsp + 0x20], 0xb
jne 0x4bba90
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2166_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bbaa0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [rcx + 0x20]
lea rdx, [rax + 1]
mov rbx, rcx
mov qword [rsp + 0x28], rax
mov qword [rcx + 0x20], rdx
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x4bbc60
mov qword [rdx], rax
add rdx, 8
mov qword [rcx + 8], rdx
movabs rax, 0xffffffff00000008
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rbx + 0x38]
cmp rdx, qword [rbx + 0x40]
je 0x4bbc40
mov qword [rdx], rax
mov rax, qword [rsp + 0x68]
cmp dword [rsp + 0x60], 0xb
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x70]
mov qword [rdx + 0x10], rax
mov rax, qword [rsp + 0x78]
mov qword [rdx + 0x18], rax
mov rax, qword [rsp + 0x80]
mov qword [rdx + 0x20], rax
jne 0x4bbba6
mov qword [rdx + 0x18], 0
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
movdqu xmm0, xmmword [rdx + 8]
movups xmmword [rsp + 0x68], xmm0
mov qword [rdx + 8], r9
mov qword [rdx + 0x10], r10
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x78], 0
mov qword [rdx + 0x18], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], rax
mov qword [rdx + 0x20], rcx
mov rdx, qword [rbx + 0x38]
add rdx, 0x28
mov qword [rbx + 0x38], rdx
sub rdx, qword [rbx + 0x30]
mov rax, rdx
movabs rdx, 0xcccccccccccccccd
sar rax, 3
imul rax, rdx
cmp rax, 0x186a0
ja 0x4bbc6f
cmp dword [rsp + 0x60], 0xb
lea ebx, [rax - 1]
je 0x4bbbf0
cmp dword [rsp + 0x30], 0xb
je 0x4bbc11
mov eax, ebx
add rsp, 0x90
pop rbx
ret
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x4bbbdd
lea rcx, [rsp + 0x68]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x30], 0xb
jne 0x4bbbe4
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4bbbe4
lea rcx, [rsp + 0x38]
mov r8d, 3
mov rdx, rcx
call rax
mov eax, ebx
add rsp, 0x90
pop rbx
ret
lea rcx, [rbx + 0x30]
lea r8, [rsp + 0x60]
call method.void_std::vector_std::__detail::_State_char___std::allocator_std::__detail::_State_char_____::_M_realloc_insert_std::__detail._State_char______gnu_cxx::__normal_iterator_std::__detail::_State_char___std::vector_std::__detail::_State_char___std::al
mov rdx, qword [rbx + 0x38]
jmp 0x4bbbae
lea r8, [rsp + 0x28]
call method.void_std::vector_unsigned_long_long__std::allocator_unsigned_long_long___._M_realloc_insert_unsigned_long_long_const____gnu_cxx::__normal_iterator_unsigned_long_long__std::vector_unsigned_long_long__std::allocator_unsigned_long_long_______unsigne
jmp 0x4bbad5
lea rdx, [0x005174b0]
mov ecx, 9
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
cmp dword [rsp + 0x60], 0xb
mov rbx, rax
jne 0x4bbc94
lea rcx, [rsp + 0x60]
call method.std::__detail::_State_char_._State____clone_.part.2166_
cmp dword [rsp + 0x30], 0xb
jne 0x4bbca5
lea rcx, [rsp + 0x30]
call method.std::__detail::_State_char_._State____clone_.part.2166_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop