Function at 0x4267a1
Capabilities:
Parse credit card information

Disassembly:
xor ebp, ebp
lodsb al, byte [esi]
cmp al, 0x22
je 0x426a01
cmp al, 0x1a
jne 0x4268c9
lodsb al, byte [esi]
movzx ecx, al
mov dword [0x45fcdc], esi
mov al, byte [esi]
cmp al, 0x24
je 0x4267ce
sub al, 0x30
cmp al, 9
ja 0x4268c2
mov ebx, esi
add esi, ecx
push esi
dec esi
mov dword [edi], 0
mov dword [edi + 4], 0
cmp byte [ebx], 0x24
je 0x426918
cmp word [ebx], 0x7830
je 0x42691d
mov al, byte [esi]
dec esi
cmp al, 0x68
je 0x42691d
cmp al, 0x62
je 0x4268cc
cmp al, 0x64
je 0x426841
cmp al, 0x6f
je 0x426992
cmp al, 0x71
je 0x426992
cmp al, 0x48
je 0x42691d
cmp al, 0x42
je 0x4268cc
cmp al, 0x44
je 0x426841
cmp al, 0x4f
je 0x426992
cmp al, 0x51
je 0x426992
inc esi
mov ebx, esi
mov esi, dword [0x45fcdc]
cmp esi, ebx
ja 0x4269fe
cmp byte [esi], 0x27
je 0x42689f
cmp byte [esi], 0x5f
je 0x42689f
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 0x4268a2
add eax, eax
jb 0x4268a2
add eax, dword [edi + 4]
jb 0x4268a2
add eax, eax
jb 0x4268a2
add eax, edx
jb 0x4268a2
mov dword [edi + 4], eax
movzx eax, byte [esi]
sub al, 0x30
jb 0x4268c1
cmp al, 9
ja 0x4268c1
add dword [edi], eax
adc dword [edi + 4], 0
jb 0x4268a2
inc esi
jmp 0x426849
cmp esi, ebx
ja 0x4268b9
lodsb al, byte [esi]
cmp al, 0x27
je 0x4268c1
cmp al, 0x5f
je 0x4268c1
sub al, 0x30
jb 0x4268c1
cmp al, 9
ja 0x4268c1
jmp 0x4268a2
or ebp, 0xffffffff
jmp 0x4269fe
pop eax
mov esi, dword [0x45fcdc]
dec esi
dec esi
stc
ret
xor bl, bl
cmp esi, dword [0x45fcdc]
jb 0x4269fe
movzx eax, byte [esi]
cmp al, 0x27
je 0x426915
cmp al, 0x5f
je 0x426915
sub al, 0x30
cmp al, 1
ja 0x4268c1
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x42690c
inc bl
cmp cl, 0x20
jae 0x426902
shl eax, cl
or dword [edi], eax
jmp 0x4268ce
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x4268ce
or al, al
je 0x4268ce
or ebp, 0xffffffff
jmp 0x4268ce
dec esi
jmp 0x4268ce
cmp cl, 1
je 0x4268c1
xor bl, bl
cmp esi, dword [0x45fcdc]
jb 0x4269fe
movzx eax, byte [esi]
cmp al, 0x27
je 0x42698f
cmp al, 0x5f
je 0x42698f
cmp al, 0x78
je 0x4269f1
cmp al, 0x24
je 0x4269f2
sub al, 0x30
cmp al, 9
jbe 0x426964
sub al, 7
cmp al, 0xf
jbe 0x42695c
sub al, 0x20
cmp al, 0xf
ja 0x4268c1
cmp al, 0xa
jb 0x4268c1
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x40
je 0x426986
add bl, 4
cmp cl, 0x20
jae 0x42697c
shl eax, cl
or dword [edi], eax
jmp 0x42691f
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x42691f
or al, al
je 0x42691f
or ebp, 0xffffffff
jmp 0x42691f
dec esi
jmp 0x42691f
xor bl, bl
cmp esi, dword [0x45fcdc]
jb 0x4269fe
movzx eax, byte [esi]
cmp al, 0x27
je 0x4269e5
cmp al, 0x5f
je 0x4269e5
sub al, 0x30
cmp al, 7
ja 0x4268c1
xor edx, edx
mov cl, bl
dec esi
cmp bl, 0x3f
ja 0x4269e8
jne 0x4269c1
cmp al, 1
ja 0x4269e8
add bl, 3
cmp cl, 0x1e
je 0x4269d1
ja 0x4269db
shl eax, cl
or dword [edi], eax
jmp 0x426994
shl eax, cl
adc dword [edi + 4], 0
or dword [edi], eax
jmp 0x426994
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x426994
dec esi
jmp 0x426994
or al, al
je 0x426994
or ebp, 0xffffffff
jmp 0x426994
dec esi
cmp esi, dword [0x45fcdc]
jne 0x4268c1
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 0x4269ff
movzx eax, byte [esi]
inc esi
mov cl, bl
cmp bl, 0x40
je 0x426a3b
add bl, 8
cmp cl, 0x20
jae 0x426a31
shl eax, cl
or dword [edi], eax
jmp 0x426a13
sub cl, 0x20
shl eax, cl
or dword [edi + 4], eax
jmp 0x426a13
or ebp, 0xffffffff
jmp 0x426a13