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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rcx + 8]
mov rbx, rcx
mov rdi, rdx
mov byte [rcx], 0
mov qword [rcx + 8], 0
xor edx, edx
mov rcx, rbp
call fcn.0047c980
mov byte [rbx], 3
mov ecx, 0x20
call sym.operator_new_unsigned_long_long_
mov rsi, rax
mov rcx, rdi
lea rax, [rax + 0x10]
mov qword [rsi], rax
call sym.strlen
mov rdx, rdi
mov rcx, rsi
lea r8, [rdi + rax]
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.constprop.3711_
mov rcx, rbx
mov qword [rbx + 8], rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.00402e50

Function at 0x481810
Capabilities:
Get socket status

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rcx + 8]
mov rbx, rcx
mov rdi, rdx
mov byte [rcx], 0
mov qword [rcx + 8], 0
xor edx, edx
mov rcx, rbp
call fcn.0047c980
mov byte [rbx], 3
mov ecx, 0x20
call sym.operator_new_unsigned_long_long_
mov rsi, rax
mov rcx, rdi
lea rax, [rax + 0x10]
mov qword [rsi], rax
call sym.strlen
mov rdx, rdi
mov rcx, rsi
lea r8, [rdi + rax]
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.constprop.3711_
mov rcx, rbx
mov qword [rbx + 8], rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.00402e50

Function at 0x481c20
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea r13, [rcx + 8]
mov rsi, rcx
mov rdi, rdx
mov byte [rcx], 0
mov qword [rcx + 8], 0
xor edx, edx
mov rcx, r13
call fcn.0047c980
mov byte [rsi], 2
mov ecx, 0x18
mov rbx, qword [rdi + 8]
mov r12, qword [rdi]
call sym.operator_new_unsigned_long_long_
mov rcx, rbx
pxor xmm0, xmm0
mov rdi, rax
movups xmmword [rax], xmm0
sub rcx, r12
mov qword [rax + 0x10], 0
sar rcx, 2
test rcx, rcx
je 0x481d30
movabs rax, 0xfffffffffffffff
cmp rcx, rax
ja 0x481d3a
shl rcx, 4
mov rbp, rcx
call sym.operator_new_unsigned_long_long_
mov r13, rax
lea rcx, [r13 + rbp]
cmp rbx, r12
mov qword [rdi], r13
mov qword [rdi + 0x10], rcx
je 0x481d06
mov r14, r12
mov rbp, r13
movsxd r15, dword [r14]
lea rcx, [rbp + 8]
mov byte [rbp], 0
xor edx, edx
mov qword [rbp + 8], 0
add r14, 4
add rbp, 0x10
call fcn.0047c980
mov byte [rbp - 0x10], 5
mov qword [rbp - 8], r15
cmp rbx, r14
jne 0x481cc1
sub rbx, 4
sub rbx, r12
shr rbx, 2
add rbx, 1
shl rbx, 4
add r13, rbx
mov rcx, rsi
mov qword [rdi + 8], r13
mov qword [rsi + 8], rdi
call fcn.00402e50
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00402e50
xor ebp, ebp
xor r13d, r13d
jmp 0x481caa
call sym.std::__throw_bad_alloc__
mov rbx, rax
movzx edx, byte [rsi]
mov rcx, r13
call fcn.0047c980
mov rcx, rbx
call sym._Unwind_Resume
mov rcx, qword [rdi]
mov rbx, rax
test rcx, rcx
je 0x481d65
call sym.operator_delete_void_
mov rcx, rdi
call sym.operator_delete_void_
jmp 0x481d42
Function at 0x481e00
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
lea rax, [rcx + 8]
mov rdi, rcx
mov rbx, rdx
mov byte [rcx], 0
mov qword [rcx + 8], 0
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x20], rax
call fcn.0047c980
mov byte [rdi], 1
mov ecx, 0x20
mov rsi, qword [rbx + 0x10]
call sym.operator_new_unsigned_long_long_
test rsi, rsi
pxor xmm0, xmm0
mov rbp, rax
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
je 0x481f60
mov rdx, rsi
xor eax, eax
mov rdx, qword [rdx]
add rax, 1
test rdx, rdx
jne 0x481e65
movabs rdx, 0x555555555555555
cmp rax, rdx
jg 0x481f64
lea rbx, [rax + rax*2]
shl rbx, 4
mov rcx, rbx
call sym.operator_new_unsigned_long_long_
add rbx, rax
mov r14, rax
mov qword [rbp], rax
mov qword [rbp + 0x10], rbx
mov rbx, rax
lea r15, [rbx + 0x10]
mov rcx, rbx
mov qword [rbx], r15
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.constprop.3713_
lea rax, [rbx + 0x28]
mov byte [rbx + 0x20], 0
xor edx, edx
mov qword [rbx + 0x28], 0
lea r13, [rbx + 0x20]
mov rcx, rax
mov qword [rsp + 0x28], rax
call fcn.0047c980
mov byte [rbx + 0x20], 3
mov ecx, 0x20
call sym.operator_new_unsigned_long_long_
mov r12, rax
lea rax, [rax + 0x10]
mov rcx, r12
mov qword [r12], rax
mov rdx, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.constprop.3713_
mov qword [rbx + 0x28], r12
mov rcx, r13
add rbx, 0x30
call fcn.00402e50
mov rcx, r13
call fcn.00402e50
mov rsi, qword [rsi]
test rsi, rsi
jne 0x481ea5
mov rcx, rdi
mov qword [rdi + 8], rbp
mov qword [rbp + 8], rbx
call fcn.00402e50
mov rcx, rdi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00402e50
xor ebx, ebx
jmp 0x481f32
call sym.std::__throw_bad_alloc__
mov rbx, rax
jmp 0x481fbf
mov rcx, rax
call sym.__cxa_begin_catch
cmp rbx, r14
jne 0x481fd4
call sym.__cxa_rethrow
jmp 0x481f97
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rdi]
call fcn.0047c980
mov rcx, rbx
call sym._Unwind_Resume
mov rcx, r14
add r14, 0x30
call sym._ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8nlohmann16json_abi_v3_11_310basic_jsonINS8_11ordered_mapESt6
jmp 0x481f9f
Function at 0x49b870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [rdx + 0x1c8]
test rbx, rbx
mov rbp, rcx
mov rsi, rdx
jne 0x49b8a5
jmp 0x49b8d4
call sym.operator_delete_void_
mov rcx, rbx
call sym.operator_delete_void_
test rdi, rdi
je 0x49b8d4
mov rbx, rdi
mov rcx, qword [rbx + 0x28]
lea rax, [rbx + 0x38]
mov rdi, qword [rbx]
cmp rcx, rax
je 0x49b8ba
call sym.operator_delete_void_
mov rcx, qword [rbx + 8]
lea rax, [rbx + 0x18]
cmp rcx, rax
jne 0x49b890
mov rcx, rbx
call sym.operator_delete_void_
test rdi, rdi
jne 0x49b8a2
mov r8, qword [rsi + 0x1c0]
xor edx, edx
mov rcx, qword [rsi + 0x1b8]
shl r8, 3
call sym.memset
mov rcx, qword [rsi + 0x20]
lea r9, [rbp + 8]
mov qword [rsi + 0x1d0], 0
mov rdx, qword [rsi + 0x28]
lea r8, [rsi + 0x198]
mov qword [rsi + 0x1c8], 0
add rdx, rcx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.0041b8a0

Function at 0x49b960
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 0x49b992
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.3657_
test rax, rax
je 0x49ba00
js 0x49b9f2
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 0x49b9de
call r12
cmp dword [rax], 4
je 0x49b9ba
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 0x49b9a7
jmp 0x49b985
mov esi, 1
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x49ba20
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 0x49ba60
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 0x49ba75
cmp ax, 0x17
jne 0x49ba54
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 0x49ba54
mov rdx, rdi
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49bad1
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 0x49bb30
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 0x49bb70
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 0x49bb85
cmp ax, 0x17
jne 0x49bb64
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 0x49bb64
mov rdx, rdi
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49bbe1
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 0x4a6f00
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 [0x0051c500]
pxor xmm7, xmm7
movdqa xmm2, xmmword [0x0051c510]
movdqa xmm3, xmmword [0x0051c520]
movdqa xmm4, xmmword [0x0051c530]
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 0x4a6f40
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 0x4a7055
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 0x4bc050
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x38]
cmp rax, qword [rcx + 0x40]
mov rbx, rcx
je 0x4bc0e1
mov rcx, qword [rdx]
cmp dword [rdx], 0xb
mov qword [rax], rcx
mov rcx, qword [rdx + 8]
mov qword [rax + 8], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rdx + 0x18]
mov qword [rax + 0x18], rcx
mov rcx, qword [rdx + 0x20]
mov qword [rax + 0x20], rcx
jne 0x4bc0b2
mov r9, qword [rdx + 8]
mov qword [rdx + 0x18], 0
mov r10, qword [rdx + 0x10]
movdqu xmm0, xmmword [rax + 8]
mov qword [rax + 8], r9
mov qword [rax + 0x10], r10
mov rax, qword [rbx + 0x38]
movups xmmword [rdx + 8], xmm0
add rax, 0x28
mov qword [rbx + 0x38], rax
movabs rdx, 0xcccccccccccccccd
sub rax, qword [rbx + 0x30]
sar rax, 3
imul rax, rdx
cmp rax, 0x186a0
ja 0x4bc0f6
sub eax, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [rcx + 0x30]
mov r8, rdx
mov rdx, rax
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 rax, qword [rbx + 0x38]
jmp 0x4bc0ba
lea rdx, [0x0051a950]
mov ecx, 9
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
nop
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bc110
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 0x4bc273
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 0x4bc1e4
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 0x4bc28a
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bc230
cmp dword [rsp + 0x20], 0xb
je 0x4bc251
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bc217
lea rcx, [rsp + 0x58]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bc21e
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bc21e
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 0x4bc1ec
lea rdx, [0x0051a950]
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 0x4bc2af
lea rcx, [rsp + 0x50]
call method.std::__detail::_State_char_._State____clone_.part.2182_
cmp dword [rsp + 0x20], 0xb
jne 0x4bc2c0
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2182_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bc500
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 0x4bc60b
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bc5c5
cmp dword [rsp + 0x20], 0xb
je 0x4bc5e5
mov eax, ebx
add rsp, 0x88
pop rbx
pop rsi
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bc5b2
lea rcx, [rsi + 8]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bc5b9
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bc5b9
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, [0x0051a950]
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 0x4bc62e
mov rcx, rsi
call method.std::__detail::_State_char_._State____clone_.part.2182_
cmp dword [rsp + 0x20], 0xb
jne 0x4bc63f
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2182_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x4bc650
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 0x4bc7b3
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 0x4bc727
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 0x4bc7ca
cmp dword [rsp + 0x50], 0xb
lea ebx, [rax - 1]
je 0x4bc770
cmp dword [rsp + 0x20], 0xb
je 0x4bc791
mov eax, ebx
sub rsp, 0xffffffffffffff80
pop rbx
ret
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4bc75a
lea rcx, [rsp + 0x58]
mov r8d, 3
mov rdx, rcx
call rax
cmp dword [rsp + 0x20], 0xb
jne 0x4bc761
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4bc761
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 0x4bc72f
lea rdx, [0x0051a950]
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 0x4bc7ef
lea rcx, [rsp + 0x50]
call method.std::__detail::_State_char_._State____clone_.part.2182_
cmp dword [rsp + 0x20], 0xb
jne 0x4bc800
lea rcx, [rsp + 0x20]
call method.std::__detail::_State_char_._State____clone_.part.2182_
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop