Function at 0x140249d50
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x14024a36e
cmp ecx, 0x7c
je 0x14024a36e
lea rdi, [rbx + 0x10]
nop dword [rax]
cmp ecx, 0x29
jne 0x140249da4
cmp dword [rbx + 0x1c], 0
jne 0x14024a36e
test dword [rbx + 0x80], 0x10000000
je 0x14024a389
jmp 0x14024a2f8
cmp ecx, 0x2e
jne 0x140249e2d
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.14024a3c0
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x14024a347
cmp byte [rax], 0x5c
jne 0x14024a0cf
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14024a0cf
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140249e00
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x140249e1e
cmp r8b, 0x29
je 0x140249e1e
test r9b, 0x10
jne 0x14024a0cf
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x140249e1e
cmp dl, 0x7d
jne 0x14024a0cf
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
jmp 0x14024a347
cmp ecx, 0x5c
jne 0x140249fd1
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x140249e8f
cmp byte [rax], 0x5c
jne 0x140249e89
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x140249e89
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140249e6f
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x140249e85
cmp r8b, 0x29
je 0x140249e85
test r9b, 0x10
jne 0x140249e89
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x140249e85
cmp dl, 0x7d
jne 0x140249e89
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
test byte [rbx + 0x80], 0x80
je 0x140249fc4
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x140249f20
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14024a3c0
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x140249f13
cmp byte [rax], 0x5c
jne 0x140249f0d
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x140249f0d
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140249ef3
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x140249f09
cmp r8b, 0x29
je 0x140249f09
test r9b, 0x10
jne 0x140249f0d
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x140249f09
cmp dl, 0x7d
jne 0x140249f0d
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
jmp 0x14024a35b
cmp al, 0x42
jne 0x140249fc4
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14024a3c0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140249fb7
cmp byte [rax], 0x5c
jne 0x140249fb1
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x140249fae
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140249f7b
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x140249f97
cmp cl, 0x29
je 0x140249f97
mov rcx, rax
test r9b, 0x10
jne 0x140249fae
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x140249f97
mov rdx, rcx
cmp r8b, 0x7d
jne 0x140249fae
lea rax, [rdx + 1]
mov rcx, rbx
inc rax
mov qword [rbx], rax
call fcn.1402455f0
jmp 0x14024a35b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
jmp 0x14024a35b
mov rcx, rbx
call fcn.14024c240
jmp 0x14024a34f
cmp ecx, 0x5b
jne 0x14024a0da
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14024a046
cmp byte [rax], 0x5c
jne 0x14024a03c
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14024a039
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14024a017
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14024a033
cmp cl, 0x29
je 0x14024a033
mov rcx, rax
test r9b, 0x10
jne 0x14024a039
movzx r9d, byte [r8]
mov rdx, rax
cmp r9b, 0x7b
je 0x14024a033
mov rdx, rcx
cmp r9b, 0x7d
jne 0x14024a039
lea rax, [rdx + 1]
jmp 0x14024a03c
mov rax, rcx
inc rax
lea rdi, [rbx + 0x10]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
mov rcx, rbx
call fcn.14024c0b0
cmp dword [rbx + 0x7c], 0x5d
jne 0x14024a3aa
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14024a347
cmp byte [rax], 0x5c
jne 0x14024a0cf
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14024a0cc
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14024a0a1
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14024a0bd
cmp cl, 0x29
je 0x14024a0bd
mov rcx, rax
test r9b, 0x10
jne 0x14024a0cc
movzx r9d, byte [r8]
mov rdx, rax
cmp r9b, 0x7b
je 0x14024a0bd
mov rdx, rcx
cmp r9b, 0x7d
jne 0x14024a0cc
lea rax, [rdx + 1]
inc rax
mov qword [rbx], rax
jmp 0x14024a347
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x14024a347
cmp ecx, 0x28
jne 0x14024a1e7
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14024a14b
cmp byte [rax], 0x5c
jne 0x14024a145
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14024a142
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14024a120
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14024a13c
cmp cl, 0x29
je 0x14024a13c
mov rcx, rax
test r9b, 0x10
jne 0x14024a142
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x14024a13c
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14024a142
lea rax, [rdx + 1]
jmp 0x14024a145
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
mov rcx, rbx
call fcn.14024c3d0
cmp dword [rbx + 0x7c], 0x29
movzx esi, al
jne 0x14024a3b5
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14024a1d1
cmp byte [rax], 0x5c
jne 0x14024a1cb
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14024a1c8
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14024a1a6
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14024a1c2
cmp cl, 0x29
je 0x14024a1c2
mov rcx, rax
test r9b, 0x10
jne 0x14024a1c8
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x14024a1c2
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14024a1c8
lea rax, [rdx + 1]
jmp 0x14024a1cb
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402455f0
test sil, sil
je 0x14024a35b
jmp 0x14024a34f
cmp ecx, 0x5e
jne 0x14024a248
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.14024a3c0
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14024a23b
cmp byte [rax], 0x5c
jne 0x14024a238
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14024a238
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14024a227
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14024a235
test dl, 0x10
jne 0x14024a238
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14024a238
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.1402455f0
jmp 0x14024a35b
cmp ecx, 0x24
jne 0x14024a2ae
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.14024a3c0
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rdx
je 0x14024a2a1
cmp byte [rax], 0x5c
jne 0x14024a29e
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14024a29e
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14024a28d
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14024a29b
test dl, 0x10
jne 0x14024a29e
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14024a29e
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.1402455f0
jmp 0x14024a35b
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14024a39f
cmp ecx, 0x3f
je 0x14024a39f
cmp ecx, 0x7b
je 0x14024a39f
cmp ecx, 0x7d
jne 0x14024a2e3
test dword [rbx + 0x80], 0x10000000
je 0x14024a394
jmp 0x14024a2f8
cmp ecx, 0x5d
jne 0x14024a2f8
test dword [rbx + 0x80], 0x10000000
je 0x14024a37e
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14024c830
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14024a347
cmp byte [rax], 0x5c
jne 0x14024a344
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14024a344
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14024a333
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14024a341
test dl, 0x10
jne 0x14024a344
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14024a344
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.1402455f0
mov rcx, rbx
call fcn.14024c5d0
lea rdi, [rbx + 0x10]
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
je 0x14024a36e
cmp ecx, 0x7c
jne 0x140249d80
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.1402455e0
int3
mov edx, 5
call fcn.1402455e0
int3
mov edx, 6
call fcn.1402455e0
int3
mov edx, 0xa
call fcn.1402455e0
int3
mov edx, 4
call fcn.1402455e0
int3
mov edx, 5
call fcn.1402455e0
int3