Function at 0x180019050
Capabilities:
Parse credit card information

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
xor cl, cl
cmp dword [rdi + 0x60], 0xffff
je 0x18001948a
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
xor esi, esi
mov qword [rsp + 0x30], rbx
lea rbp, [0x1800fac98]
mov eax, dword [rdi + 0x60]
cmp eax, 0x7c
je 0x180019472
cmp eax, 0x29
jne 0x1800190ab
cmp dword [rdi + 0x1c], esi
jne 0x180019472
test dword [rdi + 0x64], 0x10000000
jne 0x1800190ab
lea ecx, [rax - 0x24]
jmp 0x180019456
cmp eax, 0x2e
jne 0x180019166
lea ecx, [rax - 0xe]
call fcn.1800bfab0
mov r11, rax
test rax, rax
je 0x1800190d9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x1800190dc
mov r11, rsi
mov rax, qword [rdi + 0x30]
mov qword [r11 + 0x18], rax
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180019101
mov qword [r11 + 0x10], rcx
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rdi + 0x30]
mov qword [rax + 0x10], r11
mov qword [rdi + 0x30], r11
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180019159
cmp word [rax], 0x5c
jne 0x180019155
add rax, 2
cmp rax, rcx
je 0x18001913d
test byte [rdi + 0x64], 8
jne 0x18001913d
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180019152
cmp cx, 0x29
je 0x180019152
test byte [rdi + 0x64], 0x10
jne 0x180019155
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180019152
cmp cx, 0x7d
jne 0x180019155
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
jmp 0x18001945b
cmp eax, 0x5c
jne 0x180019277
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x1800191bb
cmp word [rax], 0x5c
jne 0x1800191b7
add rax, 2
cmp rax, rcx
je 0x18001919f
test byte [rdi + 0x64], 8
jne 0x18001919f
movzx ecx, word [rax]
cmp cx, 0x28
je 0x1800191b4
cmp cx, 0x29
je 0x1800191b4
test byte [rdi + 0x64], 0x10
jne 0x1800191b7
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x1800191b4
cmp cx, 0x7d
jne 0x1800191b7
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
mov eax, dword [rdi + 0x64]
and eax, 0x80
je 0x18001923b
cmp word [rdi + 0x5e], 0x62
jne 0x18001923b
lea rcx, [rdi + 0x28]
mov edx, 4
call fcn.180018b30
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x18001922e
cmp word [rax], 0x5c
jne 0x18001922a
add rax, 2
cmp rax, rcx
je 0x180019212
test byte [rdi + 0x64], 8
jne 0x180019212
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180019227
cmp cx, 0x29
je 0x180019227
test byte [rdi + 0x64], 0x10
jne 0x18001922a
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180019227
cmp cx, 0x7d
jne 0x18001922a
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
jmp 0x180019463
test eax, eax
je 0x18001926a
cmp word [rdi + 0x5e], 0x42
jne 0x18001926a
lea rcx, [rdi + 0x28]
mov edx, 4
call fcn.180018b30
mov r11, qword [rdi + 0x30]
mov rcx, rdi
xor dword [r11 + 0xc], 1
call fcn.180018ff0
jmp 0x180019463
mov rcx, rdi
call fcn.18001adb0
jmp 0x18001945b
cmp eax, 0x5b
jne 0x180019345
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x1800192cc
cmp word [rax], 0x5c
jne 0x1800192c8
add rax, 2
cmp rax, rcx
je 0x1800192b0
test byte [rdi + 0x64], 8
jne 0x1800192b0
movzx ecx, word [rax]
cmp cx, 0x28
je 0x1800192c5
cmp cx, 0x29
je 0x1800192c5
test byte [rdi + 0x64], 0x10
jne 0x1800192c8
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x1800192c5
cmp cx, 0x7d
jne 0x1800192c8
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
mov rcx, rdi
call fcn.18001acf0
cmp dword [rdi + 0x60], 0x5d
je 0x1800192ec
mov ecx, 4
call fcn.1800d52a8
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180019338
cmp word [rax], 0x5c
jne 0x180019334
add rax, 2
cmp rax, rcx
je 0x18001931c
test byte [rdi + 0x64], 8
jne 0x18001931c
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180019331
cmp cx, 0x29
je 0x180019331
test byte [rdi + 0x64], 0x10
jne 0x180019334
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180019331
cmp cx, 0x7d
jne 0x180019334
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
jmp 0x18001945b
cmp eax, 0x28
jne 0x1800193c7
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180019396
cmp word [rax], 0x5c
jne 0x180019392
add rax, 2
cmp rax, rcx
je 0x18001937a
test byte [rdi + 0x64], 8
jne 0x18001937a
movzx ecx, word [rax]
cmp cx, 0x28
je 0x18001938f
cmp cx, 0x29
je 0x18001938f
test byte [rdi + 0x64], 0x10
jne 0x180019392
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x18001938f
cmp cx, 0x7d
jne 0x180019392
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180017710
mov rcx, rdi
call fcn.18001ae80
mov edx, 0x29
mov rcx, rdi
lea r8d, [rdx - 0x24]
movzx ebx, al
call fcn.18001ac80
test bl, bl
je 0x180019463
jmp 0x18001945b
cmp eax, 0x5e
jne 0x1800193e5
lea rcx, [rdi + 0x28]
lea edx, [rax - 0x5c]
call fcn.180018b30
mov rcx, rdi
call fcn.180018ff0
jmp 0x180019463
cmp eax, 0x24
jne 0x180019400
lea rcx, [rdi + 0x28]
lea edx, [rax - 0x21]
call fcn.180018b30
mov rcx, rdi
call fcn.180018ff0
jmp 0x180019463
cmp eax, 0x2a
je 0x180019451
cmp eax, 0x2b
je 0x180019451
cmp eax, 0x3f
je 0x180019451
cmp eax, 0x7b
je 0x180019451
cmp eax, 0x7d
jne 0x180019427
test dword [rdi + 0x64], 0x10000000
jne 0x180019427
lea ecx, [rax - 0x77]
jmp 0x180019456
cmp eax, 0x5d
jne 0x18001943a
test dword [rdi + 0x64], 0x10000000
jne 0x18001943a
lea ecx, [rax - 0x59]
jmp 0x180019456
movzx edx, word [rdi + 0x5e]
lea rcx, [rdi + 0x28]
call fcn.18001abb0
mov rcx, rdi
call fcn.180018ff0
jmp 0x18001945b
mov ecx, 0xa
call fcn.1800d52a8
mov rcx, rdi
call fcn.18001afe0
cmp dword [rdi + 0x60], 0xffff
mov cl, 1
jne 0x180019080
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
movzx eax, cl
add rsp, 0x20
pop rdi
ret
movzx eax, cl
add rsp, 0x20
pop rdi
ret