Function at 0x40c69b
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
mov esi, eax
push edi
test ebx, ebx
je 0x40c9dc
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movzx ecx, word [edx]
cmp ecx, 0x7f
jbe 0x40c6ea
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 6
jbe 0x40c9c0
push ecx
push str.__u_04X
push 0xffffffffffffffff
push 7
push edi
call fcn.00407f2d
add esp, 0x14
add esi, 6
add edi, 0xc
jmp 0x40c998
cmp ecx, 0x20
jne 0x40c70a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d6c
jmp 0x40c98d
cmp ecx, 0x25
jne 0x40c72a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d74
jmp 0x40c98d
cmp ecx, 0x3f
jne 0x40c74a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d7c
jmp 0x40c98d
cmp ecx, 0x23
jne 0x40c76a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d84
jmp 0x40c98d
cmp ecx, 0x5e
jne 0x40c78a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d8c
jmp 0x40c98d
cmp ecx, 0x26
jne 0x40c7aa
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d94
jmp 0x40c98d
cmp ecx, 0x60
jne 0x40c7ca
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431d9c
jmp 0x40c98d
cmp ecx, 0x7b
jne 0x40c7ea
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431da4
jmp 0x40c98d
cmp ecx, 0x7d
jne 0x40c80a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dac
jmp 0x40c98d
cmp ecx, 0x7c
jne 0x40c82a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431db4
jmp 0x40c98d
cmp ecx, 0x5d
jne 0x40c84a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dbc
jmp 0x40c98d
cmp ecx, 0x5b
jne 0x40c86a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dc4
jmp 0x40c98d
cmp ecx, 0x22
jne 0x40c88a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dcc
jmp 0x40c98d
cmp ecx, 0x3c
jne 0x40c8aa
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dd4
jmp 0x40c98d
cmp ecx, 0x3e
jne 0x40c8ca
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431ddc
jmp 0x40c98d
cmp ecx, 0x5c
jne 0x40c8ea
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431de4
jmp 0x40c98d
cmp ecx, 0x2f
jne 0x40c90a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dec
jmp 0x40c98d
cmp ecx, 0x3b
jne 0x40c927
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431df4
jmp 0x40c98d
cmp ecx, 0x3a
jne 0x40c944
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431dfc
jmp 0x40c98d
cmp ecx, 0x2b
jne 0x40c95d
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431e04
jmp 0x40c98d
cmp ecx, 0x40
jne 0x40c976
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431e0c
jmp 0x40c98d
cmp ecx, 0x7e
jne 0x40c99d
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40c9c0
push 4
push edi
push 0x431e14
call fcn.00401be8
add esi, 3
add edi, 6
mov edx, dword [ebp + 8]
jmp 0x40c9a4
mov word [edi], cx
inc esi
add edi, 2
lea eax, [ebx - 1]
cmp esi, eax
je 0x40c9cf
xor eax, eax
cmp word [edx], ax
je 0x40c9d8
add edx, 2
mov dword [ebp + 8], edx
cmp esi, ebx
jb 0x40c6b6
cmp esi, ebx
jae 0x40c9dc
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x40c9e4
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
mov al, 1
jmp 0x40c9e6
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov word [eax], cx
xor al, al
pop edi
pop esi
pop ebx
pop ebp
ret 0xc