Function at 0x41b330
Capabilities:
Parse credit card information

Disassembly:
push ecx
mov eax, dword [0x4b458c]
push eax
call fcn.00440b90
push 1
push str.COBDATA
call fcn.00440c60
add esp, 0xc
mov dword [0x4b458c], eax
test eax, eax
je 0x41b36c
cmp byte [eax], 0
jne 0x41b36c
push eax
call fcn.00440b90
add esp, 4
mov dword [0x4b458c], 0
mov ecx, dword [0x4b4c80]
push ebx
push esi
push edi
mov eax, dword [ecx]
xor edi, edi
test eax, eax
mov esi, 8
je 0x41b3d3
mov dl, byte [eax]
cmp dl, 0x64
je 0x41b38e
cmp dl, 0x44
jne 0x41b3a6
mov bl, byte [eax + 1]
cmp bl, 0x64
je 0x41b39b
cmp bl, 0x44
jne 0x41b3a6
cmp byte [eax + 2], 0x5f
jne 0x41b3a6
add eax, 3
jmp 0x41b3b7
cmp dl, 0x43
jne 0x41b3c0
cmp byte [eax + 1], 0x4f
jne 0x41b3c0
cmp byte [eax + 2], 0x42
jne 0x41b3c0
inc esi
mov dl, byte [eax]
inc edi
inc eax
test dl, dl
jne 0x41b3b8
mov eax, dword [ecx + 4]
add ecx, 4
test eax, eax
jne 0x41b382
test esi, esi
jne 0x41b3d3
pop edi
pop esi
pop ebx
pop ecx
ret
mov eax, 0x55555556
push 0xb5
imul esi
mov eax, edx
push 0
shr eax, 0x1f
add edx, eax
push 0
lea eax, [edx + esi + 5]
xor edx, edx
mov dword [0x4b4370], eax
lea esi, [eax + eax*2]
shl esi, 3
lea ecx, [esi + edi]
call fcn.00452a70
mov edi, eax
test edi, edi
jne 0x41b413
push 0x69
call fcn.00425880
add esp, 4
add esi, edi
mov eax, edi
cmp edi, esi
mov dword [0x4b4588], edi
mov dword [0x4b4580], esi
jae 0x41b440
mov ecx, 6
mov esi, 0x499058
mov edi, eax
add eax, 0x18
rep movsd dword es:[edi], dword [esi]
cmp eax, dword [0x4b4580]
jb 0x41b427
mov esi, 0x499070
mov ecx, dword [esi]
push 1
push ecx
call fcn.0041b780
mov edx, dword [esi + 4]
add esi, 8
add esp, 8
cmp esi, str.stdin
mov dword [eax + 8], edx
jb 0x41b445
mov eax, dword [0x4b4c80]
mov dword [esp + 0xc], eax
mov eax, dword [eax]
test eax, eax
je 0x41b69f
push ebp
xor ecx, ecx
xor ebx, ebx
mov cl, byte [eax]
mov edx, eax
inc eax
cmp ecx, 0x64
mov edi, eax
je 0x41b48c
cmp ecx, 0x44
jne 0x41b4a3
xor ecx, ecx
mov cl, byte [edi]
inc edi
cmp ecx, 0x64
je 0x41b49b
cmp ecx, 0x44
jne 0x41b4a3
mov cl, byte [edi]
inc edi
cmp cl, 0x5f
je 0x41b4c3
cmp byte [edx], 0x43
jne 0x41b689
mov cl, byte [eax]
inc eax
cmp cl, 0x4f
jne 0x41b689
cmp byte [eax], 0x42
jne 0x41b689
mov edi, edx
mov al, byte [edi]
mov esi, dword [0x4b4580]
cmp al, 0x3d
je 0x41b689
and eax, 0xff
inc edi
cmp eax, 0x3d
je 0x41b4fd
test eax, eax
je 0x41b689
cmp eax, 0x2e
jne 0x41b4f0
mov eax, 0x5f
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
inc edi
cmp eax, 0x3d
jne 0x41b4de
cmp byte [edi], 0
je 0x41b689
mov byte [esi], 0
mov edx, dword [0x4b4580]
push 1
push edx
inc esi
call fcn.0041b780
mov cl, byte [edi]
add esp, 8
cmp cl, 0x22
jne 0x41b53a
mov cl, byte [edi + 1]
cmp cl, 0x3e
je 0x41b534
cmp cl, 0x3c
je 0x41b534
cmp cl, 0x7c
jne 0x41b53a
mov ebx, 1
inc edi
xor ecx, ecx
mov cl, byte [edi]
add ecx, 0xffffffda
cmp ecx, 0x56
ja case.0x41b552.40
xor edx, edx
mov dl, byte [ecx + 0x41b6b8]
jmp dword [edx*4 + 0x41b6ac]
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
cmp edx, 2
je 0x41b589
mov ebp, dword [0x499060]
mov edx, ecx
mov dword [edx], ebp
mov ebp, dword [0x499064]
mov dword [edx + 4], ebp
mov ebp, dword [0x499068]
mov dword [edx + 8], ebp
mov ebp, dword [0x49906c]
mov dword [edx + 0xc], ebp
mov dword [ecx], 2
xor ecx, ecx
mov cl, byte [edi]
inc edi
lea ebp, [ecx - 0x22]
cmp ebp, 0x5a
ja case.0x41b5a4.38
xor edx, edx
mov dl, byte [ebp + 0x41b724]
jmp dword [edx*4 + 0x41b710]
test ebx, ebx
je case.0x41b5a4.35
cmp byte [edi + 1], 0x22
je case.0x41b5a4.35
xor ebx, ebx
jmp 0x41b5d7
mov byte [esi], 0
inc esi
mov dword [eax + 0xc], esi
jmp 0x41b5d7
mov byte [esi], 0
inc esi
mov dword [eax + 0x10], esi
jmp 0x41b5d7
mov byte [esi], 0
inc esi
mov dword [eax + 0x14], esi
jmp 0x41b5d7
mov byte [esi], cl
inc esi
test ecx, ecx
jne 0x41b58f
jmp 0x41b683
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
cmp edx, 3
je 0x41b610
mov ebx, dword [0x499060]
mov edx, ecx
mov dword [edx], ebx
mov ebx, dword [0x499064]
mov dword [edx + 4], ebx
mov ebx, dword [0x499068]
mov dword [edx + 8], ebx
mov ebx, dword [0x49906c]
mov dword [edx + 0xc], ebx
mov dword [ecx], 3
mov dword [eax + 0xc], esi
inc edi
xor ecx, ecx
mov cl, byte [edi]
inc edi
cmp ecx, 0x26
je 0x41b62d
mov byte [esi], cl
inc esi
test ecx, ecx
jne 0x41b61a
jmp 0x41b683
mov byte [esi], 0
inc esi
mov dword [eax + 0x10], esi
jmp 0x41b61a
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
cmp edx, 1
je 0x41b666
mov ebx, dword [0x499060]
mov edx, ecx
mov dword [edx], ebx
mov ebx, dword [0x499064]
mov dword [edx + 4], ebx
mov ebx, dword [0x499068]
mov dword [edx + 8], ebx
mov ebx, dword [0x49906c]
mov dword [edx + 0xc], ebx
mov dword [ecx], 1
mov dword [eax + 0xc], esi
mov al, byte [edi]
mov byte [esi], al
inc esi
inc edi
test al, al
je 0x41b683
mov al, byte [edi]
mov byte [esi], al
inc esi
inc edi
test al, al
jne 0x41b679
mov dword [0x4b4580], esi
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x41b477
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
pop ecx
ret