Function at 0x41be69
Capabilities:
Parse credit card information

Disassembly:
xor ebp, ebp
lodsb al, byte [esi]
cmp al, 0x22
je 0x41c0c9
cmp al, 0x1a
jne 0x41bf91
lodsb al, byte [esi]
movzx ecx, al
mov dword [0x4320c0], esi
mov al, byte [esi]
cmp al, 0x24
je 0x41be96
sub al, 0x30
cmp al, 9
ja 0x41bf8a
mov ebx, esi
add esi, ecx
push esi
dec esi
mov dword [edi], 0
mov dword [edi + 4], 0
cmp byte [ebx], 0x24
je 0x41bfe0
cmp word [ebx], 0x7830
je 0x41bfe5
mov al, byte [esi]
dec esi
cmp al, 0x68
je 0x41bfe5
cmp al, 0x62
je 0x41bf94
cmp al, 0x64
je 0x41bf09
cmp al, 0x6f
je 0x41c05a
cmp al, 0x71
je 0x41c05a
cmp al, 0x48
je 0x41bfe5
cmp al, 0x42
je 0x41bf94
cmp al, 0x44
je 0x41bf09
cmp al, 0x4f
je 0x41c05a
cmp al, 0x51
je 0x41c05a
inc esi
mov ebx, esi
mov esi, dword [0x4320c0]
cmp esi, ebx
ja 0x41c0c6
cmp byte [esi], 0x27
je 0x41bf67
cmp byte [esi], 0x5f
je 0x41bf67
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 0x41bf6a
add eax, eax
jb 0x41bf6a
add eax, dword [edi + 4]
jb 0x41bf6a
add eax, eax
jb 0x41bf6a
add eax, edx
jb 0x41bf6a
mov dword [edi + 4], eax
movzx eax, byte [esi]
sub al, 0x30
jb 0x41bf89
cmp al, 9
ja 0x41bf89
add dword [edi], eax
adc dword [edi + 4], 0
jb 0x41bf6a
inc esi
jmp 0x41bf11
cmp esi, ebx
ja 0x41bf81
lodsb al, byte [esi]
cmp al, 0x27
je 0x41bf89
cmp al, 0x5f
je 0x41bf89
sub al, 0x30
jb 0x41bf89
cmp al, 9
ja 0x41bf89
jmp 0x41bf6a
or ebp, 0xffffffff
jmp 0x41c0c6
pop eax
mov esi, dword [0x4320c0]
dec esi
dec esi
stc
ret
xor bl, bl
cmp esi, dword [0x4320c0]
jb 0x41c0c6
movzx eax, byte [esi]
cmp al, 0x27
je 0x41bfdd
cmp al, 0x5f
je 0x41bfdd
sub al, 0x30
cmp al, 1
ja 0x41bf89
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x41bfd4
inc bl
cmp cl, 0x20
jae 0x41bfca
shl eax, cl
or dword [edi], eax
jmp 0x41bf96
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41bf96
or al, al
je 0x41bf96
or ebp, 0xffffffff
jmp 0x41bf96
dec esi
jmp 0x41bf96
cmp cl, 1
je 0x41bf89
xor bl, bl
cmp esi, dword [0x4320c0]
jb 0x41c0c6
movzx eax, byte [esi]
cmp al, 0x27
je 0x41c057
cmp al, 0x5f
je 0x41c057
cmp al, 0x78
je 0x41c0b9
cmp al, 0x24
je 0x41c0ba
sub al, 0x30
cmp al, 9
jbe 0x41c02c
sub al, 7
cmp al, 0xf
jbe 0x41c024
sub al, 0x20
cmp al, 0xf
ja 0x41bf89
cmp al, 0xa
jb 0x41bf89
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x41c04e
add bl, 4
cmp cl, 0x20
jae 0x41c044
shl eax, cl
or dword [edi], eax
jmp 0x41bfe7
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41bfe7
or al, al
je 0x41bfe7
or ebp, 0xffffffff
jmp 0x41bfe7
dec esi
jmp 0x41bfe7
xor bl, bl
cmp esi, dword [0x4320c0]
jb 0x41c0c6
movzx eax, byte [esi]
cmp al, 0x27
je 0x41c0ad
cmp al, 0x5f
je 0x41c0ad
sub al, 0x30
cmp al, 7
ja 0x41bf89
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x3f
ja 0x41c0b0
jne 0x41c089
cmp al, 1
ja 0x41c0b0
add bl, 3
cmp cl, 0x1e
je 0x41c099
ja 0x41c0a3
shl eax, cl
or dword [edi], eax
jmp 0x41c05c
shl eax, cl
adc dword [edi + 4], 0
or dword [edi], eax
jmp 0x41c05c
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41c05c
dec esi
jmp 0x41c05c
or al, al
je 0x41c05c
or ebp, 0xffffffff
jmp 0x41c05c
dec esi
cmp esi, dword [0x4320c0]
jne 0x41bf89
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 0x41c0c7
movzx eax, byte [esi]
inc esi
mov cl, bl
cmp bl, 0x40
je 0x41c103
add bl, 8
cmp cl, 0x20
jae 0x41c0f9
shl eax, cl
or dword [edi], eax
jmp 0x41c0db
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x41c0db
or ebp, 0xffffffff
jmp 0x41c0db