Function at 0x1400838d8
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 0x14008396a
lea rcx, [rbx + 2]
cmp word [rcx], 0x2a
jne 0x140083942
add rbx, 4
jmp 0x140083936
cmp word [rbx], 0x29
je 0x14008396a
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp rbx, qword [rsi + 0x38]
jb 0x14008392c
jmp 0x14008396a
cmp word [rcx], 0x3f
je 0x1400839da
lea eax, [r11 + 1]
mov dword [rdx], eax
test r10, r10
jne 0x140083960
cmp eax, r9d
je 0x140083d81
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 0x140083d77
cmp word [rbx], 0x5c
jne 0x140083b21
add rbx, 2
xor r9d, r9d
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083d77
cmp word [rbx], 0x51
jne 0x140083d40
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083d77
cmp word [rbx], 0x5c
jne 0x1400839a5
cmp word [rbx], r9w
je 0x140083d77
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], 0x45
jne 0x1400839a5
jmp 0x140083d40
lea rax, [rbx + 4]
cmp word [rax], 0x7c
jne 0x1400839f8
add rbx, 6
mov dword [rbp - 0x18], 1
mov qword [rbp - 0x10], rbx
jmp 0x140083967
cmp word [rax], 0x23
jne 0x140083a23
add rbx, 6
jmp 0x140083a12
cmp ax, 0x29
je 0x140083d77
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x140083a04
jmp 0x140083d77
cmp word [rax], 0x28
mov rbx, rax
mov qword [rbp - 0x10], rax
jne 0x140083a77
cmp word [rax + 2], 0x3f
je 0x140083967
movzx eax, word [rax]
test ax, ax
je 0x140083967
cmp ax, 0x29
je 0x140083a5d
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x140083a47
mov eax, r11d
cmp word [rbx], r8w
je 0x14008396a
add rbx, 2
mov qword [rbp - 0x10], rbx
jmp 0x14008396a
cmp word [rax], 0x50
jne 0x140083a85
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp ax, 0x3c
jne 0x140083a9c
cmp word [rbx + 2], 0x21
je 0x140083a9c
cmp word [rbx + 2], 0x3d
jne 0x140083aa6
cmp ax, 0x27
jne 0x140083967
inc r11d
mov dword [rdx], r11d
test r10, r10
jne 0x140083abe
cmp r11d, r9d
jne 0x140083abe
mov eax, r11d
jmp 0x140083d81
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp ax, 0x3c
jne 0x140083ad1
mov eax, 0x3e
mov rdx, rbx
movzx ecx, ax
jmp 0x140083ae1
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp eax, ecx
jne 0x140083ad9
test r10, r10
je 0x140083b12
mov rax, rbx
sub rax, rdx
sar rax, 1
cmp r9d, eax
jne 0x140083b12
mov r8d, r9d
mov rcx, r10
call fcn.1400843fc
test eax, eax
je 0x140083ab6
mov r9d, dword [rbp + 0x38]
mov r10, qword [rbp + 0x30]
mov eax, dword [rbp - 0x20]
mov rdx, qword [rbp + 0x50]
mov r11d, eax
jmp 0x14008396a
cmp word [rbx], 0x5b
jne 0x140083c0f
xor r9d, r9d
mov r11d, r9d
lea rax, [rbx + 2]
cmp word [rax], 0x5c
jne 0x140083b71
lea rcx, [rbx + 4]
cmp word [rcx], 0x45
jne 0x140083b4e
mov rbx, rcx
mov qword [rbp - 0x10], rcx
jmp 0x140083b31
lea rdx, [0x1400c4aec]
mov r8d, 3
call fcn.1400245bc
xor r9d, r9d
test eax, eax
jne 0x140083b8b
add rbx, 8
mov qword [rbp - 0x10], rbx
jmp 0x140083b31
test r11d, r11d
jne 0x140083b8b
cmp word [rax], 0x5e
jne 0x140083b8b
mov r11d, 1
mov rbx, rax
mov qword [rbp - 0x10], rax
jmp 0x140083b31
lea rax, [rbx + 2]
cmp word [rax], 0x5d
jne 0x140083bf9
test dword [rsi + 0x7c], 0x2000000
cmove rbx, rax
jmp 0x140083bf9
test ax, ax
je 0x140083d7e
cmp ax, 0x5c
jne 0x140083bf9
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083d77
cmp word [rbx], 0x51
jne 0x140083bf9
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083d77
cmp word [rbx], 0x5c
jne 0x140083bc9
cmp word [rbx], r9w
je 0x140083d77
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp word [rbx], 0x45
jne 0x140083bc9
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx eax, word [rbx]
cmp ax, 0x5d
jne 0x140083ba2
jmp 0x140083d40
mov ecx, dword [rbp + 0x40]
test ecx, ecx
je 0x140083cef
cmp word [rbx], 0x23
jne 0x140083cef
add rbx, 2
xor r9d, r9d
jmp 0x140083cda
mov edx, dword [rsi + 0x94]
test edx, edx
je 0x140083c81
mov r8, qword [rsi + 0x38]
cmp rbx, r8
jae 0x140083cb3
mov eax, dword [rbp + 0x48]
lea r9, [rsi + 0x98]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400238b4
xor r9d, r9d
test eax, eax
je 0x140083cb3
mov eax, dword [rsi + 0x98]
dec eax
cdqe
lea rbx, [rbx + rax*2]
mov qword [rbp - 0x10], rbx
cmp word [rbx], r9w
je 0x140083d77
jmp 0x140083d40
movsxd rdx, dword [rsi + 0x98]
mov rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, qword [rsi + 0x38]
cmp rbx, rax
ja 0x140083cb3
cmp cx, word [rsi + 0x9c]
jne 0x140083cb3
cmp edx, 1
je 0x140083c60
movzx eax, word [rsi + 0x9e]
cmp word [rbx + 2], ax
je 0x140083c60
add rbx, 2
mov qword [rbp - 0x10], rbx
cmp dword [rbp + 0x48], r9d
je 0x140083cde
movzx eax, word [rbx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x140083cde
add rbx, 2
mov qword [rbp - 0x10], rbx
movzx ecx, word [rbx]
test cx, cx
jne 0x140083c30
jmp 0x140083d77
cmp word [rbx], 0x28
jne 0x140083d24
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.1400838d8
xor r9d, r9d
test eax, eax
jg 0x140083d81
mov rbx, qword [rbp - 0x10]
jmp 0x140083c72
cmp word [rbx], 0x29
je 0x140083d6a
cmp word [rbx], 0x7c
jne 0x140083d40
test r8, r8
je 0x140083d40
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 0x140083d77
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 0x14008397c
xor ecx, ecx
cmp dword [rbp - 0x18], ecx
je 0x140083d77
cmp dword [rdx], eax
jge 0x140083d77
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