Function at 0x41a1c8
Capabilities:
Parse credit card information

Disassembly:
xor ebp, ebp
lodsb al, byte [esi]
cmp al, 0x22
je 0x41a428
cmp al, 0x1a
jne 0x41a2f0
lodsb al, byte [esi]
movzx ecx, al
mov dword [0x4310c0], esi
mov al, byte [esi]
cmp al, 0x24
je 0x41a1f5
sub al, 0x30
cmp al, 9
ja 0x41a2e9
mov ebx, esi
add esi, ecx
push esi
dec esi
mov dword [edi], 0
mov dword [edi + 4], 0
cmp byte [ebx], 0x24
je 0x41a33f
cmp word [ebx], 0x7830
je 0x41a344
mov al, byte [esi]
dec esi
cmp al, 0x68
je 0x41a344
cmp al, 0x62
je 0x41a2f3
cmp al, 0x64
je 0x41a268
cmp al, 0x6f
je 0x41a3b9
cmp al, 0x71
je 0x41a3b9
cmp al, 0x48
je 0x41a344
cmp al, 0x42
je 0x41a2f3
cmp al, 0x44
je 0x41a268
cmp al, 0x4f
je 0x41a3b9
cmp al, 0x51
je 0x41a3b9
inc esi
mov ebx, esi
mov esi, dword [0x4310c0]
cmp esi, ebx
ja 0x41a425
cmp byte [esi], 0x27
je 0x41a2c6
cmp byte [esi], 0x5f
je 0x41a2c6
xor edx, edx
mov eax, dword [edi]
shld edx, eax, 2
shl eax, 2
add eax, dword [edi]
adc edx, 0
add eax, eax
adc edx, edx
mov dword [edi], eax
mov eax, dword [edi + 4]
add eax, eax
jb 0x41a2c9
add eax, eax
jb 0x41a2c9
add eax, dword [edi + 4]
jb 0x41a2c9
add eax, eax
jb 0x41a2c9
add eax, edx
jb 0x41a2c9
mov dword [edi + 4], eax
movzx eax, byte [esi]
sub al, 0x30
jb 0x41a2e8
cmp al, 9
ja 0x41a2e8
add dword [edi], eax
adc dword [edi + 4], 0
jb 0x41a2c9
inc esi
jmp 0x41a270
cmp esi, ebx
ja 0x41a2e0
lodsb al, byte [esi]
cmp al, 0x27
je 0x41a2e8
cmp al, 0x5f
je 0x41a2e8
sub al, 0x30
jb 0x41a2e8
cmp al, 9
ja 0x41a2e8
jmp 0x41a2c9
or ebp, 0xffffffff
jmp 0x41a425
pop eax
mov esi, dword [0x4310c0]
dec esi
dec esi
stc
ret
xor bl, bl
cmp esi, dword [0x4310c0]
jb 0x41a425
movzx eax, byte [esi]
cmp al, 0x27
je 0x41a33c
cmp al, 0x5f
je 0x41a33c
sub al, 0x30
cmp al, 1
ja 0x41a2e8
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x41a333
inc bl
cmp cl, 0x20
jae 0x41a329
shl eax, cl
or dword [edi], eax
jmp 0x41a2f5
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41a2f5
or al, al
je 0x41a2f5
or ebp, 0xffffffff
jmp 0x41a2f5
dec esi
jmp 0x41a2f5
cmp cl, 1
je 0x41a2e8
xor bl, bl
cmp esi, dword [0x4310c0]
jb 0x41a425
movzx eax, byte [esi]
cmp al, 0x27
je 0x41a3b6
cmp al, 0x5f
je 0x41a3b6
cmp al, 0x78
je 0x41a418
cmp al, 0x24
je 0x41a419
sub al, 0x30
cmp al, 9
jbe 0x41a38b
sub al, 7
cmp al, 0xf
jbe 0x41a383
sub al, 0x20
cmp al, 0xf
ja 0x41a2e8
cmp al, 0xa
jb 0x41a2e8
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x41a3ad
add bl, 4
cmp cl, 0x20
jae 0x41a3a3
shl eax, cl
or dword [edi], eax
jmp 0x41a346
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41a346
or al, al
je 0x41a346
or ebp, 0xffffffff
jmp 0x41a346
dec esi
jmp 0x41a346
xor bl, bl
cmp esi, dword [0x4310c0]
jb 0x41a425
movzx eax, byte [esi]
cmp al, 0x27
je 0x41a40c
cmp al, 0x5f
je 0x41a40c
sub al, 0x30
cmp al, 7
ja 0x41a2e8
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x3f
ja 0x41a40f
jne 0x41a3e8
cmp al, 1
ja 0x41a40f
add bl, 3
cmp cl, 0x1e
je 0x41a3f8
ja 0x41a402
shl eax, cl
or dword [edi], eax
jmp 0x41a3bb
shl eax, cl
adc dword [edi + 4], 0
or dword [edi], eax
jmp 0x41a3bb
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41a3bb
dec esi
jmp 0x41a3bb
or al, al
je 0x41a3bb
or ebp, 0xffffffff
jmp 0x41a3bb
dec esi
cmp esi, dword [0x4310c0]
jne 0x41a2e8
pop esi
clc
ret
lodsd eax, dword [esi]
mov edx, eax
xor bl, bl
mov dword [edi], 0
mov dword [edi + 4], 0
sub edx, 1
jb 0x41a426
movzx eax, byte [esi]
inc esi
mov cl, bl
cmp bl, 0x40
je 0x41a462
add bl, 8
cmp cl, 0x20
jae 0x41a458
shl eax, cl
or dword [edi], eax
jmp 0x41a43a
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41a43a
or ebp, 0xffffffff
jmp 0x41a43a