Function at 0x40c968
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 0x40cca9
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movzx ecx, word [edx]
cmp ecx, 0x7f
jbe 0x40c9b7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 6
jbe 0x40cc8d
push ecx
push str.__u_04X
push 0xffffffffffffffff
push 7
push edi
call fcn.00408235
add esp, 0x14
add esi, 6
add edi, 0xc
jmp 0x40cc65
cmp ecx, 0x20
jne 0x40c9d7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d5c
jmp 0x40cc5a
cmp ecx, 0x25
jne 0x40c9f7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d64
jmp 0x40cc5a
cmp ecx, 0x3f
jne 0x40ca17
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d6c
jmp 0x40cc5a
cmp ecx, 0x23
jne 0x40ca37
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d74
jmp 0x40cc5a
cmp ecx, 0x5e
jne 0x40ca57
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d7c
jmp 0x40cc5a
cmp ecx, 0x26
jne 0x40ca77
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d84
jmp 0x40cc5a
cmp ecx, 0x60
jne 0x40ca97
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d8c
jmp 0x40cc5a
cmp ecx, 0x7b
jne 0x40cab7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d94
jmp 0x40cc5a
cmp ecx, 0x7d
jne 0x40cad7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430d9c
jmp 0x40cc5a
cmp ecx, 0x7c
jne 0x40caf7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430da4
jmp 0x40cc5a
cmp ecx, 0x5d
jne 0x40cb17
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dac
jmp 0x40cc5a
cmp ecx, 0x5b
jne 0x40cb37
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430db4
jmp 0x40cc5a
cmp ecx, 0x22
jne 0x40cb57
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dbc
jmp 0x40cc5a
cmp ecx, 0x3c
jne 0x40cb77
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dc4
jmp 0x40cc5a
cmp ecx, 0x3e
jne 0x40cb97
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dcc
jmp 0x40cc5a
cmp ecx, 0x5c
jne 0x40cbb7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dd4
jmp 0x40cc5a
cmp ecx, 0x2f
jne 0x40cbd7
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430ddc
jmp 0x40cc5a
cmp ecx, 0x3b
jne 0x40cbf4
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430de4
jmp 0x40cc5a
cmp ecx, 0x3a
jne 0x40cc11
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dec
jmp 0x40cc5a
cmp ecx, 0x2b
jne 0x40cc2a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430df4
jmp 0x40cc5a
cmp ecx, 0x40
jne 0x40cc43
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430dfc
jmp 0x40cc5a
cmp ecx, 0x7e
jne 0x40cc6a
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 4
jbe 0x40cc8d
push 4
push edi
push 0x430e04
call fcn.00401c8b
add esi, 3
add edi, 6
mov edx, dword [ebp + 8]
jmp 0x40cc71
mov word [edi], cx
inc esi
add edi, 2
lea eax, [ebx - 1]
cmp esi, eax
je 0x40cc9c
xor eax, eax
cmp word [edx], ax
je 0x40cca5
add edx, 2
mov dword [ebp + 8], edx
cmp esi, ebx
jb 0x40c983
cmp esi, ebx
jae 0x40cca9
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x40ccb1
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
mov al, 1
jmp 0x40ccb3
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