Function at 0x40ca20
Capabilities:
Parse credit card information

Disassembly:
push r12
push rbx
sub rsp, 0x58
cmp edx, 3
je 0x40cb40
ja 0x40cac8
cmp edx, 1
je 0x40cb00
cmp edx, 2
jne 0x40caf0
lea rcx, [0x0090cd10]
call fcn.00739a00
xor r9d, r9d
mov r8d, 2
mov edx, 9
lea rcx, [0x0090cd3c]
call fcn.00739a00
lea rcx, [0x0090cd46]
call fcn.00739a00
call fcn.006ba870
lea rcx, [0x0090cd5e]
mov rdx, rax
call fcn.00739a00
lea r8, [0x0090cd71]
mov edx, 6
lea rcx, [0x0090cd85]
call fcn.00739a00
lea rdx, [0x0090cd93]
lea rcx, [0x0090cd99]
call fcn.00739a00
xor eax, eax
add rsp, 0x58
pop rbx
pop r12
ret
cmp edx, 4
jne 0x40caf0
xor ecx, ecx
call fcn.004653e0
mov r8d, eax
xor eax, eax
test r8b, r8b
je 0x40cabb
mov dword [rsp + 0x2c], eax
call fcn.004673d0
mov eax, dword [rsp + 0x2c]
jmp 0x40cabb
mov eax, 1
add rsp, 0x58
pop rbx
pop r12
ret
movzx eax, byte [0x00a26080]
test al, al
je 0x40da78
cmp qword [0x00a260a8], 0
je 0x40cbc0
mov rdx, qword [0x00a260a0]
lea rcx, [0x0090cd06]
call fcn.00739a00
xor eax, eax
add rsp, 0x58
pop rbx
pop r12
ret
lea rcx, [rsp + 0x40]
lea r8, [0x0090cda3]
xor edx, edx
call fcn.0040fbe0
lea rcx, [rsp + 0x38]
call fcn.006e98e0
mov rcx, qword [rsp + 0x38]
call fcn.006eb340
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
xor r8d, r8d
call fcn.00701a20
cmp eax, 0xffffffff
je 0x40da60
mov rdx, qword [rsp + 0x40]
lea rcx, [0x0090cdd8]
call fcn.00739a00
mov rcx, qword [rsp + 0x38]
call fcn.006e9cf0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x40cbac
call fcn.008c1280
xor eax, eax
add rsp, 0x58
pop rbx
pop r12
ret
mov r8d, 0x21
lea rdx, [0x0090b5a0]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x34
jbe 0x40dac9
mov r8d, 0x35
lea rdx, [0x0090b5d8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x52
jbe 0x40dac9
mov r8d, 0x53
lea rdx, [0x0090b610]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x41
jbe 0x40dac9
mov r8d, 0x42
lea rdx, [0x0090b668]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090b6b0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090b6f0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x48
jbe 0x40dac9
mov r8d, 0x49
lea rdx, [0x0090b730]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3e
jbe 0x40dac9
mov r8d, 0x3f
lea rdx, [0x0090b780]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5f
jbe 0x40dac9
mov r8d, 0x60
lea rdx, [0x0090b7c0]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x3b
jbe 0x40dac9
mov r8d, 0x3c
lea rdx, [0x0090b828]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5c
jbe 0x40dac9
mov r8d, 0x5d
lea rdx, [0x0090b868]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4b
jbe 0x40dac9
mov r8d, 0x4c
lea rdx, [0x0090b8c8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5f
jbe 0x40dac9
mov r8d, 0x60
lea rdx, [0x0090b918]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4e
jbe 0x40dac9
mov r8d, 0x4f
lea rdx, [0x0090b980]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x54
jbe 0x40dac9
mov r8d, 0x55
lea rdx, [0x0090b9d0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x44
jbe 0x40dac9
mov r8d, 0x45
lea rdx, [0x0090ba28]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x64
jbe 0x40dac9
mov r8d, 0x65
lea rdx, [0x0090ba70]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4a
jbe 0x40dac9
mov r8d, 0x4b
lea rdx, [0x0090bad8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x45
jbe 0x40dac9
mov r8d, 0x46
lea rdx, [0x0090bb28]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x54
jbe 0x40dac9
mov r8d, 0x55
lea rdx, [0x0090bb70]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x47
jbe 0x40dac9
mov r8d, 0x48
lea rdx, [0x0090bbc8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0xd
jbe 0x40dac9
mov r8d, 0xe
lea rdx, [0x0090bc11]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090bc20]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x35
jbe 0x40dac9
mov r8d, 0x36
lea rdx, [0x0090bc60]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x42
jbe 0x40dac9
mov r8d, 0x43
lea rdx, [0x0090bc98]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5f
jbe 0x40dac9
mov r8d, 0x60
lea rdx, [0x0090bce0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x54
jbe 0x40dac9
mov r8d, 0x55
lea rdx, [0x0090bd48]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5d
jbe 0x40dac9
mov r8d, 0x5e
lea rdx, [0x0090bda0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x67
jbe 0x40dac9
mov r8d, 0x68
lea rdx, [0x0090be00]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x5d
jbe 0x40dac9
mov r8d, 0x5e
lea rdx, [0x0090be70]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090bed0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x67
jbe 0x40dac9
mov r8d, 0x68
lea rdx, [0x0090bf10]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4b
jbe 0x40dac9
mov r8d, 0x4c
lea rdx, [0x0090bf80]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x40
jbe 0x40dac9
mov r8d, 0x41
lea rdx, [0x0090bfd0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3f
jbe 0x40dac9
mov r8d, 0x40
lea rdx, [0x0090c018]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4a
jbe 0x40dac9
mov r8d, 0x4b
lea rdx, [0x0090c060]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x6d
jbe 0x40dac9
mov r8d, 0x6e
lea rdx, [0x0090c0b0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4c
jbe 0x40dac9
mov r8d, 0x4d
lea rdx, [0x0090c120]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x66
jbe 0x40dac9
mov r8d, 0x67
lea rdx, [0x0090c170]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x4f
jbe 0x40dac9
mov r8d, 0x50
lea rdx, [0x0090c1d8]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 5
jbe 0x40dac9
mov r8d, 6
lea rdx, [0x0090c229]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x38
jbe 0x40dac9
mov r8d, 0x39
lea rdx, [0x0090c230]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090c270]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4b
jbe 0x40dac9
mov r8d, 0x4c
lea rdx, [0x0090c2b0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x36
jbe 0x40dac9
mov r8d, 0x37
lea rdx, [0x0090c300]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x39
jbe 0x40dac9
mov r8d, 0x3a
lea rdx, [0x0090c338]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x60
jbe 0x40dac9
mov r8d, 0x61
lea rdx, [0x0090c378]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x10
jbe 0x40dac9
mov r8d, 0x11
lea rdx, [0x0090c3da]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3c
jbe 0x40dac9
mov r8d, 0x3d
lea rdx, [0x0090c3f0]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x4d
jbe 0x40dac9
mov r8d, 0x4e
lea rdx, [0x0090c430]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3d
jbe 0x40dac9
mov r8d, 0x3e
lea rdx, [0x0090c480]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x56
jbe 0x40dac9
mov r8d, 0x57
lea rdx, [0x0090c4c0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x34
jbe 0x40dac9
mov r8d, 0x35
lea rdx, [0x0090c518]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x49
jbe 0x40dac9
mov r8d, 0x4a
lea rdx, [0x0090c550]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0xe
jbe 0x40dac9
mov r8d, 0xf
lea rdx, [0x0090c59b]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090c5b0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x58
jbe 0x40dac9
mov r8d, 0x59
lea rdx, [0x0090c5f0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4b
jbe 0x40dac9
mov r8d, 0x4c
lea rdx, [0x0090c650]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x42
jbe 0x40dac9
mov r8d, 0x43
lea rdx, [0x0090c6a0]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090c6e8]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x50
jbe 0x40dac9
mov r8d, 0x51
lea rdx, [0x0090c728]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 5
jbe 0x40dac9
mov r8d, 6
lea rdx, [0x0090c77a]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4e
jbe 0x40dac9
mov r8d, 0x4f
lea rdx, [0x0090c788]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x58
jbe 0x40dac9
mov r8d, 0x59
lea rdx, [0x0090c7d8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x5e
jbe 0x40dac9
mov r8d, 0x5f
lea rdx, [0x0090c838]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x60
jbe 0x40dac9
mov r8d, 0x61
lea rdx, [0x0090c898]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x68
jbe 0x40dac9
mov r8d, 0x69
lea rdx, [0x0090c900]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x51
jbe 0x40dac9
mov r8d, 0x52
lea rdx, [0x0090c970]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x4a
jbe 0x40dac9
mov r8d, 0x4b
lea rdx, [0x0090c9c8]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 9
jbe 0x40dac9
mov r8d, 0xa
lea rdx, [0x0090ca14]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x38
jbe 0x40dac9
mov r8d, 0x39
lea rdx, [0x0090ca20]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x45
jbe 0x40dac9
mov r8d, 0x46
lea rdx, [0x0090ca60]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x43
jbe 0x40dac9
mov r8d, 0x44
lea rdx, [0x0090caa8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x36
jbe 0x40dac9
mov r8d, 0x37
lea rdx, [0x0090caf0]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x2e
jbe 0x40dac9
mov r8d, 0x2f
lea rdx, [0x0090cb28]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 6
jbe 0x40dac9
mov r8d, 7
lea rdx, [0x0090cb58]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x45
jbe 0x40dac9
mov r8d, 0x46
lea rdx, [0x0090cb60]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3f
jbe 0x40dac9
mov r8d, 0x40
lea rdx, [0x0090cba8]
lea rcx, [0x00a260a0]
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x43
jbe 0x40dac9
mov r8d, 0x44
lea rdx, [0x0090cbf0]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x3a
jbe 0x40dac9
mov r8d, 0x3b
lea rdx, [0x0090cc38]
lea rcx, [0x00a260a0]
movabs rbx, 0x3fffffffffffffff
call fcn.0088e390
mov rax, rbx
sub rax, qword [0x00a260a8]
cmp rax, 0x3b
jbe 0x40dac9
mov r8d, 0x3c
lea rdx, [0x0090cc78]
lea rcx, [0x00a260a0]
call fcn.0088e390
sub rbx, qword [0x00a260a8]
cmp rbx, 0x4c
jbe 0x40dac9
mov r8d, 0x4d
lea rdx, [0x0090ccb8]
lea rcx, [0x00a260a0]
call fcn.0088e390
jmp 0x40cb1d
lea rcx, [0x0090cdb0]
call fcn.00739a00
jmp 0x40cb93
lea rcx, [0x00a26080]
call fcn.008c1850
test eax, eax
je 0x40cb0f
lea rax, [0x00a260b0]
lea rcx, [0x00a26080]
mov qword [0x00a260a8], 0
mov qword [0x00a260a0], rax
mov byte [0x00a260b0], 0
call fcn.008c19b0
lea rcx, [0x0040c940]
call fcn.004014d0
jmp 0x40cb0f
lea rcx, [0x0090b5c2]
call fcn.008c3c30
mov rcx, qword [rsp + 0x40]
mov r12, rax
test rcx, rcx
je 0x40dae7
call fcn.008c1280
mov rcx, r12
call fcn.00724280
nop