Function at 0x140083b08
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
mov rbp, rsp
sub rsp, 0x60
mov rbx, qword [rcx]
mov rsi, rdx
mov rdx, qword [rbp + 0x50]
mov r11d, dword [rdx]
mov r10, r8
xor r8d, r8d
mov eax, r11d
mov qword [rbp - 0x10], rbx
cmp word [rbx], 0x28
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x1c], r11d
mov dword [rbp - 0x18], r8d
jne 0x140083b9a
lea rcx, [rbx + 2]
cmp word [rcx], 0x2a
jne 0x140083b72
add rbx, 4
jmp 0x140083b66
cmp word [rbx], 0x29
je 0x140083b9a
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp rbx, qword [rsi + 0x38]
jb 0x140083b5c
jmp 0x140083b9a
cmp word [rcx], 0x3f
je 0x140083c0a
lea eax, [r11 + 1]
mov dword [rdx], eax
test r10, r10
jne 0x140083b90
cmp eax, r9d
je 0x140083fb1
mov rbx, rcx
mov qword [rbp - 0x10], rcx
mov eax, r11d
movsxd r8, dword [rbp - 0x18]
mov qword [rbp - 8], r8
cmp rbx, qword [rsi + 0x38]
jae 0x140083fa7
cmp word [rbx], 0x5c
jne 0x140083d51
add rbx, 2
xor r9d, r9d
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083fa7
cmp word [rbx], 0x51
jne 0x140083f70
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083fa7
cmp word [rbx], 0x5c
jne 0x140083bd5
cmp word [rbx], r9w
je 0x140083fa7
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], 0x45
jne 0x140083bd5
jmp 0x140083f70
lea rax, [rbx + 4]
cmp word [rax], 0x7c
jne 0x140083c28
add rbx, 6
mov dword [rbp - 0x18], 1
mov qword [rbp - 0x10], rbx
jmp 0x140083b97
cmp word [rax], 0x23
jne 0x140083c53
add rbx, 6
jmp 0x140083c42
cmp ax, 0x29
je 0x140083fa7
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x140083c34
jmp 0x140083fa7
cmp word [rax], 0x28
mov rbx, rax
mov qword [rbp - 0x10], rax
jne 0x140083ca7
cmp word [rax + 2], 0x3f
je 0x140083b97
movzx eax, word [rax]
test ax, ax
je 0x140083b97
cmp ax, 0x29
je 0x140083c8d
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x140083c77
mov eax, r11d
cmp word [rbx], r8w
je 0x140083b9a
add rbx, 2
mov qword [rbp - 0x10], rbx
jmp 0x140083b9a
cmp word [rax], 0x50
jne 0x140083cb5
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp ax, 0x3c
jne 0x140083ccc
cmp word [rbx + 2], 0x21
je 0x140083ccc
cmp word [rbx + 2], 0x3d
jne 0x140083cd6
cmp ax, 0x27
jne 0x140083b97
inc r11d
mov dword [rdx], r11d
test r10, r10
jne 0x140083cee
cmp r11d, r9d
jne 0x140083cee
mov eax, r11d
jmp 0x140083fb1
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp ax, 0x3c
jne 0x140083d01
mov eax, 0x3e
mov rdx, rbx
movzx ecx, ax
jmp 0x140083d11
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp eax, ecx
jne 0x140083d09
test r10, r10
je 0x140083d42
mov rax, rbx
sub rax, rdx
sar rax, 1
cmp r9d, eax
jne 0x140083d42
mov r8d, r9d
mov rcx, r10
call fcn.14008462c
test eax, eax
je 0x140083ce6
mov r9d, dword [rbp + 0x38]
mov r10, qword [rbp + 0x30]
mov eax, dword [rbp - 0x20]
mov rdx, qword [rbp + 0x50]
mov r11d, eax
jmp 0x140083b9a
cmp word [rbx], 0x5b
jne 0x140083e3f
xor r9d, r9d
mov r11d, r9d
lea rax, [rbx + 2]
cmp word [rax], 0x5c
jne 0x140083da1
lea rcx, [rbx + 4]
cmp word [rcx], 0x45
jne 0x140083d7e
mov rbx, rcx
mov qword [rbp - 0x10], rcx
jmp 0x140083d61
lea rdx, [0x1400c5aec]
mov r8d, 3
call fcn.140019ac0
xor r9d, r9d
test eax, eax
jne 0x140083dbb
add rbx, 8
mov qword [rbp - 0x10], rbx
jmp 0x140083d61
test r11d, r11d
jne 0x140083dbb
cmp word [rax], 0x5e
jne 0x140083dbb
mov r11d, 1
mov rbx, rax
mov qword [rbp - 0x10], rax
jmp 0x140083d61
lea rax, [rbx + 2]
cmp word [rax], 0x5d
jne 0x140083e29
test dword [rsi + 0x7c], 0x2000000
cmove rbx, rax
jmp 0x140083e29
test ax, ax
je 0x140083fae
cmp ax, 0x5c
jne 0x140083e29
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083fa7
cmp word [rbx], 0x51
jne 0x140083e29
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083fa7
cmp word [rbx], 0x5c
jne 0x140083df9
cmp word [rbx], r9w
je 0x140083fa7
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], 0x45
jne 0x140083df9
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp ax, 0x5d
jne 0x140083dd2
jmp 0x140083f70
mov ecx, dword [rbp + 0x40]
test ecx, ecx
je 0x140083f1f
cmp word [rbx], 0x23
jne 0x140083f1f
add rbx, 2
xor r9d, r9d
jmp 0x140083f0a
mov edx, dword [rsi + 0x94]
test edx, edx
je 0x140083eb1
mov r8, qword [rsi + 0x38]
cmp rbx, r8
jae 0x140083ee3
mov eax, dword [rbp + 0x48]
lea r9, [rsi + 0x98]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140023700
xor r9d, r9d
test eax, eax
je 0x140083ee3
mov eax, dword [rsi + 0x98]
dec eax
cdqe
lea rbx, [rbx + rax*2]
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083fa7
jmp 0x140083f70
movsxd rdx, dword [rsi + 0x98]
mov rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, qword [rsi + 0x38]
cmp rbx, rax
ja 0x140083ee3
cmp cx, word [rsi + 0x9c]
jne 0x140083ee3
cmp edx, 1
je 0x140083e90
movzx eax, word [rsi + 0x9e]
cmp word [rbx + 2], ax
je 0x140083e90
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp dword [rbp + 0x48], r9d
je 0x140083f0e
movzx eax, word [rbx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x140083f0e
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx ecx, word [rbx]
test cx, cx
jne 0x140083e60
jmp 0x140083fa7
cmp word [rbx], 0x28
jne 0x140083f54
mov eax, dword [rbp + 0x48]
mov qword [rsp + 0x30], rdx
mov r8, r10
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x10]
mov rdx, rsi
call fcn.140083b08
xor r9d, r9d
test eax, eax
jg 0x140083fb1
mov rbx, qword [rbp - 0x10]
jmp 0x140083ea2
cmp word [rbx], 0x29
je 0x140083f9a
cmp word [rbx], 0x7c
jne 0x140083f70
test r8, r8
je 0x140083f70
cmp dword [rdx], eax
cmovg eax, dword [rdx]
mov dword [rdx], r11d
mov dword [rbp - 0x20], eax
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp rbx, qword [rsi + 0x38]
jae 0x140083fa7
mov rdx, qword [rbp + 0x50]
mov eax, dword [rbp - 0x20]
mov r8, qword [rbp - 8]
mov r9d, dword [rbp + 0x38]
mov r10, qword [rbp + 0x30]
mov r11d, dword [rbp - 0x1c]
jmp 0x140083bac
xor ecx, ecx
cmp dword [rbp - 0x18], ecx
je 0x140083fa7
cmp dword [rdx], eax
jge 0x140083fa7
mov dword [rdx], eax
mov rax, qword [rbp + 0x20]
mov qword [rax], rbx
or eax, 0xffffffff
add rsp, 0x60
pop rsi
pop rbx
pop rbp
ret