Function at 0x1400954a0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r15, qword [r8 + 0xc8]
movzx r12d, word [r15 + 0x10]
cmp r12w, 0x3e
jne 0x1400954d6
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, r8
mov r14, rcx
mov r8, qword [rcx]
mov r11b, byte [r8 + 0x1a3]
cmp r11b, 4
je 0x1400955f5
cmp r11b, 3
jne 0x1400955b6
mov rax, qword [r14 + 8]
mov rdi, qword [rax + 0x110]
mov rcx, qword [rax + 0x148]
test rdi, rdi
je 0x14009553d
mov esi, dword [r13 + 0x10]
mov ebp, esi
add ebp, 0xfffffff9
xor r10d, r10d
mov ebx, 0
cmp bp, 0xc
jb 0x14009552c
mov rbx, qword [r13 + 8]
cmp si, 1
cmove rbx, r10
cmp rbx, rdi
je 0x140095770
test rcx, rcx
je 0x14009556d
mov ebp, dword [r13 + 0x10]
mov edi, ebp
add edi, 0xfffffff9
xor esi, esi
mov ebx, 0
cmp di, 0xc
jb 0x14009555c
mov rbx, qword [r13 + 8]
cmp bp, 1
cmove rbx, rsi
cmp rbx, rcx
je 0x140095770
mov rax, qword [rax + 0x118]
test rax, rax
je 0x1400955a4
mov ebp, dword [r13 + 0x10]
mov ecx, ebp
add ecx, 0xfffffff9
xor edi, edi
mov ebx, 0
cmp cx, 0xc
jb 0x140095593
mov rbx, qword [r13 + 8]
cmp bp, 1
cmove rbx, rdi
cmp rbx, rax
je 0x14009577a
cmp r12w, 0x41
jne 0x1400955b6
cmp dword [r15 + 0x78], 0
je 0x140095e66
movzx r10d, word [r13 + 0x10]
cmp r10w, 0x13
je 0x1400956e3
cmp r10w, 5
jne 0x14009572a
mov rcx, qword [r13 + 0xd0]
test rcx, rcx
je 0x14009572a
mov eax, 1
cmp byte [rcx + 0x44], 0x13
je 0x1400954c5
jmp 0x14009572a
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14009563c
mov ebp, dword [r13 + 0x10]
mov eax, ebp
add eax, 0xfffffff9
xor esi, esi
mov edi, 0
cmp ax, 0xc
jb 0x14009561f
mov rdi, qword [r13 + 8]
cmp bp, 1
cmove rdi, rsi
cmp r12w, 0x41
je 0x14009563c
mov eax, 0x64
cmp rdi, rcx
je 0x1400954c5
mov cl, byte [r15 + 0x44]
cmp cl, 0x28
je 0x140095be6
cmp cl, 0x4b
jne 0x14009566c
mov rax, qword [r15 + 0x20]
cmp rax, 2
jb 0x14009566c
mov rbp, qword [r15 + 0x18]
movzx eax, word [rbp + rax - 2]
cmp eax, 0x7b24
je 0x1400958ef
mov r10b, byte [r13 + 0x44]
cmp r10b, 0x4b
jne 0x14009568f
cmp qword [r13 + 0x20], 0
je 0x14009568f
mov rsi, qword [r13 + 0x18]
mov eax, 0x64
cmp byte [rsi], 0x7d
je 0x1400954c5
cmp cl, 0x13
je 0x140095784
cmp cl, 0x4b
jne 0x1400956bb
mov rax, qword [r15 + 0x20]
cmp rax, 2
jb 0x1400956bb
mov rsi, qword [r15 + 0x18]
movzx eax, word [rsi + rax - 2]
cmp eax, 0x7b24
je 0x1400957a7
cmp r12w, 0x17
ja 0x1400956d5
movzx eax, r12w
mov esi, 0xa80000
bt rsi, rax
jb 0x1400957a7
cmp cl, 0x4a
jne 0x1400955b6
jmp 0x1400957a7
mov eax, 1
cmp r11b, 6
je 0x1400954c5
mov eax, 0xc8
cmp r12w, 0x14
je 0x1400954c5
movzx ecx, byte [r13 + 0x44]
mov eax, 0x1f4
cmp rcx, 0x3a
ja 0x1400954c5
movabs rsi, 0x400000000020021
bt rsi, rcx
jae 0x14009580d
cmp r12w, 0x47
jne 0x14009573b
mov eax, 0x1f4
jmp 0x1400954c5
cmp r10w, 0x19
jne 0x14009582d
mov eax, 0x1f4
cmp r11b, 6
je 0x1400954c5
mov bl, byte [r13 + 0x44]
cmp bl, 0x16
je 0x140095846
cmp bl, 0x45
je 0x140095846
jmp 0x1400958bb
mov eax, 1
jmp 0x1400954c5
mov eax, 2
jmp 0x1400954c5
cmp r12w, 0x2e
ja 0x1400955b6
movzx eax, r12w
movabs rcx, 0x400000a80000
bt rcx, rax
jae 0x1400955b6
cmp r10b, 0x13
je 0x1400957ce
cmp r10b, 0x4b
jne 0x1400957df
cmp qword [r13 + 0x20], 0
je 0x1400957df
mov rcx, qword [r13 + 0x18]
mov eax, 0xc8
cmp byte [rcx], 0x7d
je 0x1400954c5
jmp 0x1400957df
mov eax, 0xc8
cmp word [r13 + 0x10], 0x33
je 0x1400954c5
movzx ecx, word [r13 + 0x10]
mov eax, 0xc8
cmp rcx, 0x18
ja 0x1400957fe
mov esi, 0x1500000
bt rsi, rcx
jb 0x1400954c5
cmp r10b, 0x49
je 0x1400954c5
jmp 0x1400955b6
cmp rcx, 0x30
jne 0x1400954c5
cmp r12w, 0x3f
je 0x140095be6
cmp r12w, 0x47
je 0x140095731
mov bl, byte [r13 + 0x44]
cmp bl, 0x16
je 0x140095846
cmp bl, 0x45
je 0x140095846
movzx eax, r10w
cmp eax, 0x8a
jne 0x1400958bb
mov rax, qword [rdx]
test rax, rax
je 0x14009587e
nop
movzx ecx, word [rax + 0x10]
cmp cx, 4
jne 0x140095868
mov rax, qword [rax + 0xd0]
test rax, rax
jne 0x140095850
jmp 0x14009587e
cmp cx, 0x59
jne 0x14009587e
mov eax, 3
test byte [r13 + 0x41], 2
jne 0x1400954c5
cmp byte [r15 + 0x44], 0x45
mov ecx, 0x6e
mov eax, 0xc8
cmove eax, ecx
je 0x1400954c5
test r9b, r9b
je 0x1400954c5
mov eax, 0xc8
cmp dword [r13 + 0x78], 0
jne 0x1400954c5
mov eax, dword [r8 + 0x214]
jmp 0x1400954c5
cmp bl, 0x2e
je 0x1400958f9
mov eax, 0xbe
cmp bl, 0x40
je 0x1400954c5
cmp r12w, 0x3f
jne 0x1400958e5
mov eax, 0xa0
cmp r10w, 0x17
je 0x1400954c5
mov r11b, byte [r15 + 0x44]
cmp r11b, 9
jne 0x140095903
mov eax, 0x64
jmp 0x1400954c5
mov eax, 0x6e
jmp 0x1400954c5
cmp r12w, 4
je 0x1400959b5
mov eax, 0x1388
cmp r12w, 0x67
je 0x1400954c5
cmp r12w, 0x7f
je 0x1400954c5
mov eax, 2
lea ecx, [r11 - 0xf]
cmp cl, 0x33
ja 0x14009594e
movzx ecx, cl
movabs rsi, 0x8000000000801
bt rsi, rcx
jb 0x1400954c5
lea eax, [r10 - 0x19]
cmp ax, 0x2d
ja 0x140095a09
movzx eax, ax
movabs rcx, 0x200000000801
bt rcx, rax
jae 0x140095a09
lea eax, [rbx - 0x12]
cmp al, 0x3c
ja 0x140095b4e
movzx eax, al
movabs rcx, 0x1000000090000001
bt rcx, rax
jae 0x140095b4e
mov rax, qword [rdx]
test rax, rax
je 0x1400959d5
movzx ecx, word [rax + 0x10]
cmp cx, 4
jne 0x1400959bf
mov rax, qword [rax + 0xd0]
test rax, rax
jne 0x14009599d
jmp 0x1400959d5
mov eax, 0x3e8
jmp 0x1400954c5
cmp cx, 0x59
jne 0x1400959d5
mov eax, 4
cmp r12w, 0x3f
je 0x1400954c5
cmp bl, 0x44
je 0x1400954c3
cmp r12w, 0x3d
jne 0x140095a7a
cmp r11b, 0x3a
jne 0x140095c05
cmp byte [rdx + 0x3a], 0
mov ecx, 0x1f4
mov eax, 0x32
cmove eax, ecx
jmp 0x1400954c5
cmp bl, 0x4d
jne 0x140095995
mov rax, qword [r13 + 0xd0]
test rax, rax
je 0x140095a25
cmp word [rax + 0x10], 0x15
je 0x140095995
mov rax, qword [rdx]
test rax, rax
je 0x140095a52
mov rcx, rax
cmp word [rax + 0x10], 4
jne 0x140095a43
mov rax, qword [rcx + 0xd0]
test rax, rax
jne 0x140095a2d
mov eax, 0xa
cmp byte [rcx + 0x44], 0x3b
je 0x1400954c5
cmp r12w, 0x16
mov eax, 0x64
mov ecx, 0x78
cmove ecx, eax
xor edx, edx
cmp qword [r13 + 0x20], 0xa
mov eax, 0x32
cmovae eax, edx
add eax, ecx
jmp 0x1400954c5
cmp dword [rdx + 0x20], 2
jne 0x140095ab4
cmp r12w, 0x15
jne 0x140095c05
mov rax, qword [r15 + 0xc8]
test rax, rax
je 0x140095ab4
movzx ecx, word [rax + 0x10]
mov eax, 0x1f4
cmp cx, 5
je 0x1400954c5
cmp cx, 0x33
je 0x1400954c5
cmp r12w, 0x15
jne 0x140095acb
test r9b, r9b
je 0x140095acb
cmp byte [r8 + 4], 1
jne 0x1400958ef
cmp r12w, 0x15
jne 0x140095c05
mov rdx, qword [r15 + 0xc8]
test rdx, rdx
je 0x140095c05
mov ebx, dword [rdx + 0x10]
mov eax, 0x3e8
mov ecx, ebx
or ecx, 2
cmp cx, 0x5b
je 0x1400954c5
mov esi, ebx
mov rcx, rdx
cmp si, 4
jne 0x140095b22
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x140095b9a
movzx esi, word [rcx + 0x10]
cmp si, 4
je 0x140095b08
movzx esi, si
cmp esi, 0x9e
jne 0x140095b9a
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x140095b9a
movzx esi, word [rcx + 0x10]
cmp si, 4
je 0x140095b2d
cmp si, 0x5b
jne 0x140095b9a
jmp 0x1400954c5
mov rcx, qword [r13 + 0xb8]
mov eax, 0x96
test rcx, rcx
je 0x1400954c5
mov rdx, qword [rcx + 0xc8]
mov cl, byte [rdx + 0x44]
cmp cl, 0x13
je 0x140095bca
cmp cl, 0x4b
jne 0x140095bd1
cmp qword [rdx + 0x20], 0
je 0x140095bd1
mov rbp, qword [rdx + 0x18]
cmp byte [rbp], 0x7d
jne 0x140095bd1
jmp 0x140095be6
mov rdx, qword [rdx + 0xc8]
test rdx, rdx
je 0x140095c05
movzx ebx, word [rdx + 0x10]
cmp bx, 4
je 0x140095b8a
cmp bx, 5
jne 0x140095c05
mov rcx, qword [rdx + 0xc8]
test rcx, rcx
je 0x140095c05
movzx edx, word [rcx + 0x10]
cmp dx, 4
jne 0x140095bfb
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
jne 0x140095bb2
jmp 0x140095c05
cmp word [rdx + 0x10], 0x33
je 0x140095be6
movzx edx, word [rdx + 0x10]
cmp rdx, 0x18
ja 0x140095bf0
mov ebp, 0x1500000
bt rbp, rdx
jae 0x140095bf0
mov eax, 0x23
jmp 0x1400954c5
cmp cl, 0x49
jne 0x1400954c5
jmp 0x140095be6
cmp dx, 0x5b
je 0x1400954c5
cmp r12w, 0x3f
jne 0x140095c1a
mov eax, 0x6e
test r9b, r9b
jne 0x1400954c5
mov eax, 1
cmp r10w, 0x18
je 0x1400954c5
cmp r11b, 0x13
je 0x140095c93
mov eax, 0x64
cmp r11b, 0x4a
je 0x1400954c5
cmp r11b, 0x4b
jne 0x140095c5f
mov rax, qword [r15 + 0x20]
cmp rax, 2
jb 0x140095c5f
mov rcx, qword [r15 + 0x18]
movzx eax, word [rcx + rax - 2]
cmp eax, 0x7b24
je 0x140095cb0
cmp r12w, 0x17
ja 0x140095c75
movzx eax, r12w
mov ecx, 0xa80000
bt rcx, rax
jb 0x140095cb0
cmp r11b, 0x1f
je 0x140095d51
cmp r11b, 0x52
jne 0x140095d5b
mov eax, 0x3c
jmp 0x1400954c5
lea eax, [r12 - 0x13]
cmp ax, 0x2e
ja 0x140095d69
movzx eax, ax
mov ecx, 0x8000015
bt rcx, rax
jae 0x140095cff
cmp byte [r8 + 4], 1
jne 0x140095cd2
cmp dword [r15 + 0x5c], 2
jb 0x1400954c3
cmp byte [r8 + 0x1b], 0
mov eax, 0
jne 0x1400954c5
cmp r12w, 0x17
jne 0x140095ce3
cmp byte [r8 + 0x94], 0
je 0x140095d47
mov eax, 0x13
cmp dword [r15 + 0x5c], 2
jb 0x1400954c5
mov eax, dword [r8 + 0x1fc]
jmp 0x1400954c5
movabs rcx, 0x400000002000
bt rcx, rax
jae 0x140095d69
mov rcx, qword [r15 + 0xc8]
test rcx, rcx
je 0x140095d69
call fcn.140095f40
test al, al
je 0x140095d69
mov eax, 0x32
cmp qword [r15 + 0xb8], 0
jne 0x1400954c5
cmp dword [r15 + 0xb4], 0
jne 0x1400954c5
jmp 0x140095d69
mov eax, 0x13
jmp 0x1400954c5
mov eax, 0x32
jmp 0x1400954c5
cmp r12w, 0x41
je 0x140095d0f
cmp r12w, 0x20
je 0x140095d0f
cmp word [r13 + 0x10], 0x20
jne 0x140095d9e
mov rcx, r15
call fcn.140095f40
test al, al
je 0x140095d9e
mov eax, 0x19
cmp qword [r13 + 0xb8], 0
jne 0x1400954c5
cmp dword [r13 + 0xb4], 0
jne 0x1400954c5
cmp word [r15 + 0x10], 0x41
mov eax, 1
je 0x1400954c5
cmp word [r13 + 0x10], 0x2f
jne 0x140095e12
mov rcx, r15
call fcn.140095f40
test al, al
je 0x140095de4
mov eax, 0x19
cmp qword [r13 + 0xb8], 0
jne 0x1400954c5
cmp dword [r13 + 0xb4], 1
jne 0x1400954c5
cmp word [r13 + 0x10], 0x2f
jne 0x140095e12
cmp word [r15 + 0x10], 0x16
mov eax, 2
jne 0x1400954c5
cmp dword [r13 + 0xb4], 1
mov eax, 2
sbb eax, 0
jmp 0x1400954c5
test byte [r15 + 0x40], 0x40
jne 0x140095e70
mov eax, 3
cmp byte [r15 + 0x44], 0xa
je 0x1400954c5
movzx ecx, word [r15 + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
test eax, eax
jne 0x140095e4b
movzx ecx, word [r13 + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
test eax, eax
je 0x140095e66
cmp eax, 2
jne 0x1400954c5
mov rax, qword [r14]
mov eax, dword [rax + 0x1f8]
jmp 0x1400954c5
mov eax, 3
jmp 0x1400954c5
mov rax, qword [r14]
mov eax, dword [rax + 0x20c]
jmp 0x1400954c5