Function at 0x1400b08f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x58
mov rbx, rdx
mov rsi, rcx
lea rdx, [0x14024d112]
mov rcx, r8
call fcn.1400ca6a0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea r14, [rcx + 0xff]
mov rcx, r14
mov qword [rsp + 0xa8], r14
call fcn.14010a204
mov r8, r14
xor edx, edx
mov rcx, rax
mov r15, rax
call fcn.14010da60
movzx edx, byte [rbx]
xor r12d, r12d
test dl, dl
je 0x1400b0e45
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r13
nop dword [rax]
cmp dl, 0x3d
jne 0x1400b0e25
cmp byte [rbx + 1], 0x3f
jne 0x1400b0e25
cmp byte [rbx + 2], 0
lea rdx, [rbx + 2]
mov rbp, rdx
je 0x1400b09dd
movzx eax, byte [rbp]
cmp al, 0x20
jle 0x1400b09dd
cmp al, 0x28
je 0x1400b09dd
cmp al, 0x29
je 0x1400b09dd
cmp al, 0x3c
je 0x1400b09dd
cmp al, 0x3e
je 0x1400b09dd
cmp al, 0x40
je 0x1400b09dd
cmp al, 0x2c
je 0x1400b09dd
cmp al, 0x3b
je 0x1400b09dd
cmp al, 0x3a
je 0x1400b09dd
cmp al, 0x22
je 0x1400b09dd
cmp al, 0x2f
je 0x1400b09dd
cmp al, 0x5b
je 0x1400b09dd
cmp al, 0x5d
je 0x1400b09dd
cmp al, 0x3f
je 0x1400b09e7
cmp al, 0x2e
je 0x1400b09dd
cmp al, 0x3d
je 0x1400b09dd
inc rbp
cmp byte [rbp], 0
jne 0x1400b0990
cmp byte [rbp], 0x3f
jne 0x1400b0e1e
movzx eax, byte [rbp + 1]
cmp al, 0x51
je 0x1400b09f7
cmp al, 0x71
jne 0x1400b0ba5
cmp byte [rbp + 2], 0x3f
jne 0x1400b0ba5
mov rcx, rsi
mov byte [rbp], 0
call fcn.1400af3b0
mov byte [rbp], 0x3f
movzx ecx, byte [rbp + 3]
add rbp, 3
mov r13d, eax
test cl, cl
je 0x1400b0adf
lea rbx, [r12 + r15]
nop dword [rax + rax]
cmp cl, 0x3f
je 0x1400b0ae5
cmp cl, 0x20
jle 0x1400b0adf
cmp cl, 0x3d
jne 0x1400b0ac1
movsx ecx, byte [rbp + 1]
call fcn.14010ed5c
test eax, eax
je 0x1400b0a5e
movzx edi, byte [rbp + 1]
sub dil, 0x30
jmp 0x1400b0a79
movsx ecx, byte [rbp + 1]
call fcn.14010ec78
movzx edi, byte [rbp + 1]
test eax, eax
je 0x1400b0a75
sub dil, 0x57
jmp 0x1400b0a79
sub dil, 0x37
movsx ecx, byte [rbp + 2]
add rbp, 2
shl dil, 4
call fcn.14010ed5c
test eax, eax
je 0x1400b0a9c
movzx eax, byte [rbp]
sub al, 0x30
add dil, al
mov byte [rbx], dil
jmp 0x1400b0acd
movsx ecx, byte [rbp]
call fcn.14010ec78
test eax, eax
movzx eax, byte [rbp]
je 0x1400b0ab7
sub al, 0x57
add dil, al
mov byte [rbx], dil
jmp 0x1400b0acd
sub al, 0x37
add dil, al
mov byte [rbx], dil
jmp 0x1400b0acd
cmp cl, 0x5f
jne 0x1400b0acb
mov byte [rbx], 0x20
jmp 0x1400b0acd
mov byte [rbx], cl
movzx ecx, byte [rbp + 1]
inc rbp
inc rbx
test cl, cl
jne 0x1400b0a30
cmp byte [rbp], 0x3f
jne 0x1400b0aef
cmp byte [rbp + 1], 0x3d
jne 0x1400b0aef
add rbp, 2
lea rsi, [r12 + r15]
or rbx, 0xffffffffffffffff
xor edx, edx
mov ecx, r13d
mov r8, rsi
mov r9d, ebx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
inc eax
movsxd rdi, eax
mov eax, 2
mul rdi
cmovo rax, rbx
mov rcx, rax
call fcn.14010a204
lea r8, [rdi + rdi]
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.14010da60
mov dword [rsp + 0x28], edi
or rdi, 0xffffffffffffffff
mov r9d, edi
mov r8, rsi
xor edx, edx
mov ecx, r13d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor edx, edx
mov r9d, edi
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov r8, rbx
xor ecx, ecx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, rbx
call fcn.14010d304
mov rcx, rdi
xor eax, eax
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
add r12, rcx
jmp 0x1400b0df2
cmp byte [rbp], 0x3f
jne 0x1400b0e1e
cmp al, 0x42
je 0x1400b0bbb
cmp al, 0x62
jne 0x1400b0e1e
cmp byte [rbp + 2], 0x3f
jne 0x1400b0e1e
mov rcx, rsi
mov byte [rbp], 0
call fcn.1400af3b0
mov byte [rbp], 0x3f
movzx ecx, byte [rbp + 3]
add rbp, 3
xor ebx, ebx
mov r14d, eax
mov r13, r12
mov edi, ebx
test cl, cl
je 0x1400b0c01
nop dword [rax + rax]
cmp cl, 0x3f
je 0x1400b0c01
movzx ecx, byte [rdi + rbp + 1]
inc rdi
test cl, cl
jne 0x1400b0bf0
lea rdx, [rsp + 0x98]
mov rcx, rbp
mov qword [rsp + 0x98], rdi
call fcn.1400add50
add rbp, rdi
test rax, rax
je 0x1400b0c51
mov rdi, qword [rsp + 0x98]
mov rdx, rbx
test rdi, rdi
je 0x1400b0c45
movzx ecx, byte [rax + rdx]
inc rdx
inc r12
mov byte [r12 + r15 - 1], cl
cmp rdx, rdi
jb 0x1400b0c31
mov rcx, rax
mov byte [r12 + r15], bl
call fcn.14010d304
cmp byte [rbp], 0x3f
jne 0x1400b0c61
cmp byte [rbp + 1], 0x3d
jne 0x1400b0c61
add rbp, 2
or r12, 0xffffffffffffffff
cmp r14d, 0xc42c
jne 0x1400b0d49
xor eax, eax
lea r9, [r13 + r15]
mov rcx, r12
mov rdi, r9
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 6
jb 0x1400b0d49
mov edx, dword [r9]
lea rdi, [0x140000000]
cmp edx, dword [rdi + 0x229cf0]
jne 0x1400b0cb1
movzx edx, word [r9 + 4]
cmp dx, word [rdi + 0x229cf4]
je 0x1400b0cb6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400b0d2c
mov edx, dword [r9]
cmp edx, dword [rdi + 0x229ce8]
jne 0x1400b0cd7
movzx edx, word [r9 + 4]
cmp dx, word [rdi + 0x229cec]
jne 0x1400b0cd7
mov eax, ebx
jmp 0x1400b0cdc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400b0d2c
mov edx, dword [r9]
cmp edx, dword [rdi + 0x229ce0]
jne 0x1400b0cfd
movzx edx, word [r9 + 4]
cmp dx, word [rdi + 0x229ce4]
jne 0x1400b0cfd
mov eax, ebx
jmp 0x1400b0d02
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400b0d2c
mov edx, dword [r9]
cmp edx, dword [rdi + 0x229cd8]
jne 0x1400b0d23
movzx edx, word [r9 + 4]
cmp dx, word [rdi + 0x229cdc]
jne 0x1400b0d23
mov eax, ebx
jmp 0x1400b0d28
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1400b0d49
lea rdx, [r13 + r15 + 3]
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
mov r8, rcx
mov rcx, r9
call fcn.14010c9b0
lea rsi, [r13 + r15]
mov r9d, r12d
xor edx, edx
mov ecx, r14d
mov r8, rsi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
inc eax
movsxd rdi, eax
mov eax, 2
mul rdi
cmovo rax, r12
mov rcx, rax
call fcn.14010a204
lea r8, [rdi + rdi]
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.14010da60
mov r9d, r12d
mov r8, rsi
xor edx, edx
mov ecx, r14d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r14, qword [rsp + 0xa8]
xor edx, edx
mov r9d, r12d
mov r8, rbx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
xor ecx, ecx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, rbx
call fcn.14010d304
mov rcx, r12
xor eax, eax
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
lea r12, [r13 + rcx - 1]
movzx eax, byte [rbp]
cmp al, 0x20
je 0x1400b0dfe
cmp al, 9
jne 0x1400b0e10
cmp byte [rbp + 1], 0x3d
lea rax, [rbp + 1]
jne 0x1400b0e10
cmp byte [rbp + 2], 0x3f
cmove rbp, rax
mov rsi, qword [rsp + 0x90]
lea rbx, [rbp - 1]
jmp 0x1400b0e2c
mov byte [r12 + r15], 0x3d
jmp 0x1400b0e29
mov byte [r12 + r15], dl
inc r12
movzx edx, byte [rbx + 1]
inc rbx
test dl, dl
jne 0x1400b0970
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rdx, r15
mov byte [r12 + r15], 0
call fcn.1400ca6a0
mov rcx, r15
add rsp, 0x58
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
jmp fcn.14010d304