Function at 0x140059f04
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
sub rsp, 0x20
mov rsi, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x14005a3d0
mov ebp, 4
lea r13d, [rbp + 3]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x14005a3d0
cmp ecx, 0x29
jne 0x140059f5e
cmp dword [rsi + 0x1c], 0
jne 0x14005a3d0
test dword [rsi + 0x80], edx
je 0x14005a3f8
jmp 0x14005a288
cmp ecx, 0x2e
jne 0x140059f7e
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.14005a574
mov rcx, rsi
call fcn.140059eb8
jmp 0x14005a2ca
cmp ecx, 0x5c
jne 0x14005a0f1
mov rcx, rsi
call fcn.140059eb8
mov ecx, dword [rsi + 0x80]
mov eax, ecx
and eax, 0x80
je 0x140059fbc
cmp byte [rsi + 0x78], 0x62
jne 0x140059fbc
mov edx, ebp
lea rcx, [rsi + 0x40]
call fcn.14005a574
mov rcx, rsi
call fcn.140059eb8
jmp 0x14005a3c2
test eax, eax
je 0x140059fdb
cmp byte [rsi + 0x78], 0x42
jne 0x140059fdb
lea rcx, [rsi + 0x40]
mov edx, ebp
call fcn.14005a574
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140059faf
bt ecx, 8
jae 0x14005a0ba
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
lea r9d, [rdx - 7]
call fcn.14005c6e8
cmp eax, 0x7fffffff
je 0x14005a0ba
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x14005a02f
bt eax, 0x14
jae 0x14005a437
mov dl, byte [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.14005b7e8
jmp 0x14005a2ca
bt eax, 9
jae 0x14005a03e
cmp edi, 9
ja 0x14005a442
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x14005a442
cmp qword [rsi + 0x38], rcx
jbe 0x14005a442
mov r8, qword [rsi + 0x20]
mov rdx, rcx
and ecx, 0x1f
shr rdx, 5
mov eax, 1
shl eax, cl
test dword [r8 + rdx*4], eax
je 0x14005a442
mov ecx, 0x28
call fcn.140118c10
lea rcx, vtable.std::_Node_back.0
mov qword [rsp + 0x40], rax
mov rdx, rax
and dword [rax + 0xc], 0
and qword [rax + 0x10], 0
and qword [rax + 0x18], 0
mov qword [rax], rcx
lea rcx, [rsi + 0x40]
mov dword [rax + 8], reloc.WS2_32.dll_ntohs
mov dword [rax + 0x20], edi
call fcn.14005a53c
jmp 0x14005a2ca
mov rcx, rsi
call fcn.14005be6c
test al, al
jne 0x14005a01e
test dword [rsi + 0x80], 0x20000
je 0x14005a403
mov dl, 1
mov rcx, rsi
call fcn.14005bb70
test al, al
je 0x14005a403
jmp 0x14005a2ca
cmp ecx, 0x5b
jne 0x14005a15d
mov rcx, rsi
call fcn.140059eb8
lea rcx, [rsi + 0x40]
call fcn.14005c15c
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x14005a122
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.140059eb8
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x14005a146
cmp eax, 0x5d
jne 0x14005a146
mov dl, al
lea rcx, [rsi + 0x40]
call fcn.14005c1b8
mov rcx, rsi
call fcn.140059eb8
mov rcx, rsi
call fcn.14005bc0c
cmp dword [rsi + 0x7c], 0x5d
jne 0x14005a40e
jmp 0x140059f71
cmp ecx, 0x28
jne 0x14005a250
mov rcx, rsi
call fcn.140059eb8
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x14005a187
cmp dword [rsi + 0x7c], 0x29
je 0x14005a44d
test al, 0x20
je 0x14005a1cf
cmp dword [rsi + 0x7c], 0x3f
jne 0x14005a1cf
mov rcx, rsi
call fcn.140059eb8
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140059eb8
cmp ebx, 0x3a
je 0x14005a1d8
cmp ebx, 0x21
jne 0x14005a1c2
mov dl, 1
mov rcx, rsi
call fcn.14005c0a0
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x14005a244
cmp ebx, 0x3d
jne 0x14005a458
xor edx, edx
jmp 0x14005a1b0
test dword [rsi + 0x70], 0x200
je 0x14005a1e2
mov rcx, rsi
call fcn.14005c058
jmp 0x14005a23f
mov edx, dword [rsi + 0x18]
inc edx
mov dword [rsi + 0x18], edx
cmp edx, 0x3e8
jae 0x14005a3e3
lea rcx, [rsi + 0x40]
call fcn.140058dcc
mov rcx, rsi
mov rdi, rax
call fcn.140058c2c
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.140058d50
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.140057db4
mov ecx, dword [rdi + 0x20]
mov r8, qword [rsi + 0x20]
mov edx, ecx
shr rdx, 5
and ecx, 0x1f
mov eax, dword [r8 + rdx*4]
bts eax, ecx
mov dword [r8 + rdx*4], eax
dec dword [rsi + 0x1c]
mov bl, 1
cmp dword [rsi + 0x7c], 0x29
jne 0x14005a416
jmp 0x14005a2ba
cmp ecx, 0x5e
jne 0x14005a25d
lea edx, [rcx - 0x5c]
jmp 0x140059fa6
cmp ecx, 0x24
jne 0x14005a26a
lea edx, [rcx - 0x21]
jmp 0x140059fa6
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14005a42c
cmp ecx, 0x3f
je 0x14005a42c
cmp ecx, 0x7b
je 0x14005a42c
cmp ecx, 0x7d
jne 0x14005a29b
test dword [rsi + 0x80], edx
je 0x14005a421
jmp 0x14005a2ac
cmp ecx, 0x5d
jne 0x14005a2ac
test dword [rsi + 0x80], edx
je 0x14005a463
mov dl, byte [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.14005b7e8
mov bl, 1
mov rcx, rsi
call fcn.140059eb8
test bl, bl
je 0x14005a3c2
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x14005a37b
cmp eax, 0x2b
jne 0x14005a2e8
lea edi, [rbx + 2]
jmp 0x14005a37b
cmp eax, 0x3f
jne 0x14005a2f5
lea ebx, [rax - 0x3e]
jmp 0x14005a37b
cmp eax, 0x7b
jne 0x14005a3c2
mov rcx, rsi
call fcn.140059eb8
mov edi, 0x7fffffff
mov r9d, r13d
mov r8d, edi
mov edx, 0xa
mov rcx, rsi
call fcn.14005c6e8
cmp eax, edi
je 0x14005a3ef
cmp dword [rsi + 0x7c], 0x2c
mov edi, dword [rsi + 0x74]
je 0x14005a333
mov ebx, edi
jmp 0x14005a364
mov rcx, rsi
call fcn.140059eb8
cmp dword [rsi + 0x7c], 0x7d
je 0x14005a36e
mov ebx, 0x7fffffff
mov r9d, r13d
mov r8d, ebx
mov edx, 0xa
mov rcx, rsi
call fcn.14005c6e8
cmp eax, ebx
je 0x14005a46b
mov ebx, dword [rsi + 0x74]
cmp dword [rsi + 0x7c], 0x7d
jne 0x14005a474
cmp ebx, 0xffffffff
je 0x14005a37b
cmp ebx, edi
jl 0x14005a474
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], ebp
call fcn.140059eb8
test dword [rsi + 0x80], 0x400
je 0x14005a3a9
cmp dword [rsi + 0x7c], 0x3f
jne 0x14005a3a9
xor bpl, bpl
mov rcx, rsi
call fcn.140059eb8
jmp 0x14005a3ac
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.14005c234
mov ebp, 4
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140059f30
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop rdi
pop rsi
ret
mov ecx, ntohs
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov edx, r13d
call fcn.140058a44
int3
mov edx, 5
call fcn.140058a44
int3
mov edx, 2
call fcn.140058a44
int3
mov edx, ebp
call fcn.140058a44
int3
mov edx, 5
call fcn.140058a44
int3
mov edx, 6
call fcn.140058a44
int3
mov edx, 0xa
call fcn.140058a44
int3
mov edx, 2
call fcn.140058a44
int3
mov edx, 3
call fcn.140058a44
int3
mov edx, 5
call fcn.140058a44
int3
mov edx, ntohs
call fcn.140058a44
int3
mov edx, ebp
call fcn.140058a44
int3
mov edx, r13d
call fcn.140058a44
int3
mov edx, r13d
call fcn.140058a44
int3