Function at 0x140013920
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140013ccd
cmp ecx, 0x7c
je 0x140013ccd
cmp ecx, 0x29
jne 0x140013972
cmp dword [rbx + 0x1c], 0
jne 0x140013ccd
test dword [rbx + 0x80], 0x10000000
je 0x140013cf0
jmp 0x140013be1
cmp ecx, 0x2e
jne 0x14001398a
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140016af0
jmp 0x140013bee
cmp ecx, 0x5c
jne 0x1400139ff
mov rcx, rbx
call fcn.140016b80
test byte [rbx + 0x80], 0x80
je 0x1400139f2
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x1400139c5
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140016af0
mov rcx, rbx
call fcn.140016b80
jmp 0x140013cbf
cmp ax, 0x42
jne 0x1400139f2
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140016af0
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.140016b80
jmp 0x140013cbf
mov rcx, rbx
call fcn.140013d40
jmp 0x140013bf6
cmp ecx, 0x5b
jne 0x140013a23
mov rcx, rbx
call fcn.140016b80
mov rcx, rbx
call fcn.140014170
cmp dword [rbx + 0x7c], 0x5d
jne 0x140013cfe
jmp 0x140013bee
cmp ecx, 0x28
jne 0x140013b57
mov rcx, rbx
call fcn.140016b80
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x140013a4d
cmp dword [rbx + 0x7c], 0x29
je 0x140013cf0
test al, 0x20
je 0x140013aae
cmp dword [rbx + 0x7c], 0x3f
jne 0x140013aae
mov rcx, rbx
call fcn.140016b80
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.140016b80
mov rcx, rbx
cmp edi, 0x3a
jne 0x140013a7c
call fcn.140015800
jmp 0x140013b31
cmp edi, 0x21
jne 0x140013a93
mov dl, 1
call fcn.140014e40
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140013b37
cmp edi, 0x3d
jne 0x140013d28
xor edx, edx
call fcn.140014e40
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140013b37
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x140013ade
mov edx, 8
call fcn.140016af0
mov rcx, rbx
mov rdi, rax
call fcn.140014b00
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.140016010
jmp 0x140013b31
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.140013f00
mov rcx, rbx
mov rsi, rax
call fcn.140014b00
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.140016010
mov edx, dword [rbx + 0x18]
lea rcx, [rbx + 0x20]
inc edx
xor r8d, r8d
call fcn.1400198a0
mov r8d, dword [rsi + 0x20]
mov rax, qword [rbx + 0x20]
mov ecx, r8d
shr rcx, 5
and r8d, 0x1f
lea rdx, [rax + rcx*4]
mov eax, dword [rax + rcx*4]
bts eax, r8d
mov dword [rdx], eax
dec dword [rbx + 0x1c]
mov dil, 1
cmp dword [rbx + 0x7c], 0x29
jne 0x140013cf0
mov rcx, rbx
call fcn.140016b80
test dil, dil
je 0x140013cbf
jmp 0x140013bf6
cmp ecx, 0x5e
jne 0x140013b77
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140016af0
mov rcx, rbx
call fcn.140016b80
jmp 0x140013cbf
cmp ecx, 0x24
jne 0x140013b97
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140016af0
mov rcx, rbx
call fcn.140016b80
jmp 0x140013cbf
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140013d1a
cmp ecx, 0x3f
je 0x140013d1a
cmp ecx, 0x7b
je 0x140013d1a
cmp ecx, 0x7d
jne 0x140013bcc
test dword [rbx + 0x80], 0x10000000
je 0x140013d0c
jmp 0x140013be1
cmp ecx, 0x5d
jne 0x140013be1
test dword [rbx + 0x80], 0x10000000
je 0x140013cfe
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140012d50
mov rcx, rbx
call fcn.140016b80
mov eax, dword [rbx + 0x7c]
xor esi, esi
lea edi, [rsi - 1]
cmp eax, 0x2a
je 0x140013c77
cmp eax, 0x2b
jne 0x140013c0d
lea esi, [rdi + 2]
jmp 0x140013c77
cmp eax, 0x3f
jne 0x140013c17
lea edi, [rax - 0x3e]
jmp 0x140013c77
cmp eax, 0x7b
jne 0x140013cbf
mov rcx, rbx
call fcn.140016b80
mov rcx, rbx
call fcn.1400149f0
test al, al
je 0x140013ce2
mov eax, dword [rbx + 0x7c]
mov esi, dword [rbx + 0x74]
cmp eax, 0x2c
je 0x140013c47
mov edi, esi
jmp 0x140013c69
mov rcx, rbx
call fcn.140016b80
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
je 0x140013c6e
mov rcx, rbx
call fcn.1400149f0
test al, al
je 0x140013ce2
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x140013ce2
cmp edi, 0xffffffff
je 0x140013c77
cmp edi, esi
jl 0x140013ce2
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
add rax, 0xc
call fcn.140016b80
test dword [rbx + 0x80], 0x400
je 0x140013caa
cmp dword [rbx + 0x7c], 0x3f
jne 0x140013caa
xor bpl, bpl
mov rcx, rbx
call fcn.140016b80
jmp 0x140013cad
mov bpl, 1
lea rcx, [rbx + 0x40]
movzx r9d, bpl
mov r8d, edi
mov edx, esi
call fcn.1400135e0
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140013945
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 7
mov rcx, rbx
call fcn.1400160d0
int3
mov edx, 5
mov rcx, rbx
call fcn.1400160d0
int3
mov edx, 4
mov rcx, rbx
call fcn.1400160d0
int3
mov edx, 6
mov rcx, rbx
call fcn.1400160d0
int3
mov edx, 0xa
mov rcx, rbx
call fcn.1400160d0
int3
mov edx, 0xe
call fcn.1400160d0
int3