Function at 0x1400b3960
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r12
push r14
sub rsp, 0x58
mov r12d, dword [r8]
mov rdi, rdx
mov qword [rsp + 0x20], rcx
mov r14, rcx
mov dword [rsp + 0x88], 0
test rdx, rdx
jne 0x1400b3996
xor esi, esi
jmp 0x1400b39af
or rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x1400b39a0
and esi, 0x3fffffff
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test r12b, 0x40
jne 0x1400b39d6
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400b3e7f
cmp esi, 5
jb 0x1400b3e7f
mov eax, dword [rdx]
cmp eax, dword [0x14029d574]
jne 0x1400b3e7f
movzx eax, byte [rdx + 4]
cmp al, byte [0x14029d578]
jne 0x1400b3e7f
or r12d, 0x40
mov r8d, esi
xor ebx, ebx
mov dword [rsp + 0x80], r12d
xor r14d, r14d
lea ebp, [rsi + 2]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x1400b3a52
lea rdx, [rsi - 1]
nop dword [rax]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add rbx, rax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x1400b3a30
cmp rcx, r8
jge 0x1400b3a63
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add rbp, rax
call fcn.1400b0cc0
test eax, eax
jne 0x1400b3f9a
lea rcx, [r14 + rbx]
add rcx, rbp
call fcn.140035a90
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x1400b3f9a
mov ebx, 5
lea rdx, [0x14029d570]
lea rcx, [rdi + 5]
lea r8d, [rbx - 2]
call fcn.1402253c0
test eax, eax
jne 0x1400b3aca
lea rcx, [rdi + 7]
lea r8d, [rax + 3]
lea rdx, [0x14029d570]
lea ebx, [rax + 7]
call fcn.1402253c0
test eax, eax
jne 0x1400b3aea
lea ebx, [rax + 8]
jmp 0x1400b3aea
mov r8d, recv
lea rdx, str.__localhost_
lea rcx, [rdi + 5]
call fcn.1402253c0
test eax, eax
mov ecx, reloc.WS2_32.dll_recv
cmove ebx, ecx
mov eax, ebx
xor r11d, r11d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x1400b3c82
xor r10d, r10d
lea rsi, [0x1402923b0]
cmp dl, 0x23
je 0x1400b3c72
inc ebx
cmp dl, 0x25
jne 0x1400b3be1
movsxd rax, ebx
movzx r9d, byte [rax + rdi]
test byte [r9 + rsi], 8
je 0x1400b3be1
lea r8d, [rbx + 1]
movsxd rax, r8d
movzx ecx, byte [rax + rdi]
test byte [rcx + rsi], 8
je 0x1400b3be1
movsx edx, r9b
mov eax, edx
movsxd rbx, r8d
sar eax, 6
and al, 1
movzx eax, al
movsx r8d, byte [rbx + rdi]
inc ebx
imul ecx, eax, 7
mov eax, r8d
sar eax, 6
and al, 1
movzx eax, al
sub dl, cl
imul ecx, eax, 7
movzx eax, r8b
and edx, 0xf
shl edx, 4
sub al, cl
and eax, 0xf
add edx, eax
jne 0x1400b3c59
movsxd rax, ebx
lea rcx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x1400b3c63
movsxd rdx, r11d
nop dword [rax]
cmp al, 0x23
je 0x1400b3c63
test r11d, r11d
jne 0x1400b3bb1
cmp al, 0x3f
jmp 0x1400b3bc9
cmp rdx, 1
jne 0x1400b3bc1
cmp al, 0x3d
je 0x1400b3c63
jmp 0x1400b3bc7
cmp rdx, 2
jne 0x1400b3bcf
cmp al, 0x26
je 0x1400b3c63
movzx eax, byte [rcx + 1]
inc rcx
inc ebx
test al, al
jne 0x1400b3ba0
jmp 0x1400b3c63
cmp r11d, 1
jne 0x1400b3c3a
cmp dl, 0x26
je 0x1400b3bf1
cmp dl, 0x3d
jne 0x1400b3c59
cmp byte [r10 + rbp - 1], 0
jne 0x1400b3c20
movsxd rax, ebx
movzx ecx, byte [rax + rdi]
test cl, cl
je 0x1400b3c63
cmp cl, 0x23
je 0x1400b3c63
cmp byte [rax + rdi - 1], 0x26
je 0x1400b3c63
movzx ecx, byte [rax + rdi + 1]
inc rax
inc ebx
test cl, cl
jne 0x1400b3c04
jmp 0x1400b3c63
cmp dl, 0x26
jne 0x1400b3c32
inc r15d
mov byte [r10 + rbp], 0
inc r10
jmp 0x1400b3c57
mov r11d, 2
jmp 0x1400b3c57
test r11d, r11d
jne 0x1400b3c46
cmp dl, 0x3f
je 0x1400b3c51
jmp 0x1400b3c59
cmp r11d, 2
jne 0x1400b3c59
cmp dl, 0x26
jne 0x1400b3c59
mov r11d, 1
xor dl, dl
inc r15d
mov byte [r10 + rbp], dl
inc r10
movsxd rax, ebx
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x1400b3b05
cmp r11d, 1
jne 0x1400b3c82
movsxd rax, r15d
inc r15d
mov byte [rax + rbp], 0
movsxd rax, r15d
mov byte [rax + rbp], 0
lea eax, [r15 + 1]
movsxd rcx, eax
or rax, 0xffffffffffffffff
mov byte [rcx + rbp], 0
nop dword [rax + rax]
inc rax
cmp byte [rax + rbp], 0
jne 0x1400b3ca0
and eax, 0x3fffffff
lea edx, [rax + 1]
add rdx, rbp
cmp byte [rdx], 0
je 0x1400b3ecc
movzx r13d, byte [reloc.WS2_32.dll_WSAStartup]
nop word [rax + rax]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1400b3cd4
and ecx, 0x3fffffff
lea ebp, [rcx + 1]
add rbp, rdx
jne 0x1400b3cef
xor ebx, ebx
jmp 0x1400b3d02
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rbx + rbp], 0
jne 0x1400b3cf3
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x1400b3d26
movzx eax, word [0x14029d57c]
cmp ax, word [rdx]
jne 0x1400b3d26
cmp r13b, byte [rdx + 2]
jne 0x1400b3d26
mov r14, rbp
mov qword [rsp + 0x20], rbp
jmp 0x1400b3e36
xor esi, esi
xor r12d, r12d
xor r14d, r14d
cmp ecx, 5
jne 0x1400b3d5d
mov eax, dword [str.cache]
cmp eax, dword [rdx]
jne 0x1400b3d5d
movzx eax, byte [0x14029d59c]
cmp al, byte [rdx + 4]
jne 0x1400b3d5d
mov r14d, 0x60000
lea rsi, str.shared
lea r12, str.cache
mov r15d, r14d
cmp ecx, 4
jne 0x1400b3d90
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x1400b3d90
mov r15d, dword [rsp + 0x80]
lea rsi, [0x1403240f0]
mov r14d, 0x87
lea r12, str.access
and r15d, r14d
jmp 0x1400b3d99
test rsi, rsi
je 0x1400b3e31
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x1400b3ddd
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400b3da7
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1400b3dcb
mov rdx, rcx
mov r8d, ebx
mov rcx, rbp
call fcn.1402186a0
test eax, eax
je 0x1400b3e02
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x1400b3da3
mov r8, rbp
lea rcx, str.no_such__s_mode:__s
mov rdx, r12
call fcn.140037f90
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1400b3f07
add rdi, rdi
mov ecx, dword [rsi + rdi*8 + 8]
test ecx, ecx
je 0x1400b3ddd
mov eax, ecx
btr eax, 7
cmp eax, r15d
jg 0x1400b3e4f
not r14d
and r14d, dword [rsp + 0x80]
mov r12d, r14d
or r12d, ecx
mov dword [rsp + 0x80], r12d
mov r14, qword [rsp + 0x20]
lea edx, [rbx + 1]
add rdx, rbp
cmp byte [rdx], 0
jne 0x1400b3cd0
mov rbp, qword [rsp + 0x28]
jmp 0x1400b3ed1
mov r8, rbp
lea rcx, str._s_mode_not_allowed:__s
mov rdx, r12
call fcn.140037f90
mov rcx, rax
mov dword [rsp + 0x88], 3
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1400b3f12
call fcn.1400b0cc0
test eax, eax
jne 0x1400b3f9a
lea ecx, [rsi + 2]
call fcn.140035a90
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x1400b3f9a
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call fcn.140218780
lea eax, [rsi + 1]
mov byte [rsi + rbp], 0
and r12d, 0xffffffbf
mov dword [rsp + 0x80], r12d
mov byte [rax + rbp], 0
jmp 0x1400b3ed1
mov r14, qword [rsp + 0x20]
mov rcx, r14
call fcn.140035010
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x1400b3f75
mov rdx, r14
lea rcx, str.no_such_vfs:__s
call fcn.140037f90
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x88], 1
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400b3f68
mov rcx, qword [0x14032fbf0]
test rcx, rcx
je 0x1400b3f2d
call qword [0x1403252a8]
mov rcx, qword [rsp + 0x28]
call qword [0x140325260]
dec qword [0x14032fc78]
movsxd rcx, eax
sub qword [0x14032fc30], rcx
mov rcx, qword [rsp + 0x28]
call qword [0x140325250]
mov rcx, qword [0x14032fbf0]
test rcx, rcx
je 0x1400b3f73
call qword [0x1403252b8]
jmp 0x1400b3f73
mov rcx, qword [rsp + 0x28]
call qword [0x140325250]
xor ebp, ebp
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x80]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rbp
jmp 0x1400b3f9f
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
ret