Function at 0x406260
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x4066c7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4066c7
cmp eax, 0x29
jne 0x4062a0
cmp dword [esi + 0x10], 0
jne 0x4066c7
test dword [esi + 0x50], 0x10000000
je 0x4066d4
jmp 0x406660
cmp eax, 0x2e
jne 0x4062f3
push 5
lea ecx, [esi + 0x24]
call fcn.004066f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4066a8
cmp byte [eax], 0x5c
jne 0x4064af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4064af
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4062eb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4064ad
cmp dl, 0x29
je 0x4064ad
test bl, 0x10
jmp 0x40649f
cmp eax, 0x5c
jne 0x406411
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40633a
cmp byte [eax], 0x5c
jne 0x406337
lea ecx, [eax + 1]
cmp ecx, edx
je 0x406337
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x406324
mov dl, byte [ecx]
cmp dl, 0x28
je 0x406335
cmp dl, 0x29
je 0x406335
test bl, 0x10
jne 0x406337
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x406335
cmp dl, 0x7d
jne 0x406337
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
test byte [esi + 0x50], 0x80
je 0x406405
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4063a6
push 4
lea ecx, [esi + 0x24]
call fcn.004066f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40639a
cmp byte [eax], 0x5c
jne 0x406397
lea ecx, [eax + 1]
cmp ecx, edx
je 0x406397
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x406384
mov dl, byte [ecx]
cmp dl, 0x28
je 0x406395
cmp dl, 0x29
je 0x406395
test bl, 0x10
jne 0x406397
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x406395
cmp dl, 0x7d
jne 0x406397
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
jmp 0x4066b9
cmp al, 0x42
jne 0x406405
push 4
lea ecx, [esi + 0x24]
call fcn.004066f0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4063f9
cmp byte [eax], 0x5c
jne 0x4063f6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4063f6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4063e3
mov al, byte [ecx]
cmp al, 0x28
je 0x4063f4
cmp al, 0x29
je 0x4063f4
mov eax, dword [esi]
test dl, 0x10
jne 0x4063f6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4063f4
cmp dl, 0x7d
jne 0x4063f6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
jmp 0x4066b9
mov ecx, esi
call fcn.004068a0
jmp 0x4066af
cmp eax, 0x5b
jne 0x4064b7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x406458
cmp byte [eax], 0x5c
jne 0x406455
lea ecx, [eax + 1]
cmp ecx, edx
je 0x406455
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x406442
mov al, byte [ecx]
cmp al, 0x28
je 0x406453
cmp al, 0x29
je 0x406453
mov eax, dword [esi]
test dl, 0x10
jne 0x406455
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x406453
cmp dl, 0x7d
jne 0x406455
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
mov ecx, esi
call fcn.00406770
cmp dword [esi + 0x4c], 0x5d
jne 0x4066e2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4066a8
cmp byte [eax], 0x5c
jne 0x4064af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4064af
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40649c
mov al, byte [ecx]
cmp al, 0x28
je 0x4064ad
cmp al, 0x29
je 0x4064ad
mov eax, dword [esi]
test dl, 0x10
jne 0x4064af
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4064ad
cmp dl, 0x7d
jne 0x4064af
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x4066a8
cmp eax, 0x28
jne 0x40656a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4064fe
cmp byte [eax], 0x5c
jne 0x4064fb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4064fb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4064e8
mov al, byte [ecx]
cmp al, 0x28
je 0x4064f9
cmp al, 0x29
je 0x4064f9
mov eax, dword [esi]
test dl, 0x10
jne 0x4064fb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4064f9
cmp dl, 0x7d
jne 0x4064fb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
mov ecx, esi
call fcn.004069f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4066d4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x406556
cmp byte [eax], 0x5c
jne 0x406553
lea ecx, [eax + 1]
cmp ecx, edx
je 0x406553
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x406540
mov al, byte [ecx]
cmp al, 0x28
je 0x406551
cmp al, 0x29
je 0x406551
mov eax, dword [esi]
test dl, 0x10
jne 0x406553
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x406551
cmp dl, 0x7d
jne 0x406553
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00405d00
test bl, bl
je 0x4066b9
jmp 0x4066af
cmp eax, 0x5e
jne 0x4065c0
push 2
lea ecx, [esi + 0x24]
call fcn.004066f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4065b4
cmp byte [eax], 0x5c
jne 0x4065b2
inc eax
cmp eax, ecx
je 0x4065b2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40659f
mov dl, byte [eax]
cmp dl, 0x28
je 0x4065b0
cmp dl, 0x29
je 0x4065b0
test cl, 0x10
jne 0x4065b2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4065b0
cmp cl, 0x7d
jne 0x4065b2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00405d00
jmp 0x4066b9
cmp eax, 0x24
jne 0x406616
push 3
lea ecx, [esi + 0x24]
call fcn.004066f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40660a
cmp byte [eax], 0x5c
jne 0x406608
inc eax
cmp eax, ecx
je 0x406608
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4065f5
mov dl, byte [eax]
cmp dl, 0x28
je 0x406606
cmp dl, 0x29
je 0x406606
test cl, 0x10
jne 0x406608
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406606
cmp cl, 0x7d
jne 0x406608
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00405d00
jmp 0x4066b9
cmp eax, 0x2a
je 0x4066cd
cmp eax, 0x2b
je 0x4066cd
cmp eax, 0x3f
je 0x4066cd
cmp eax, 0x7b
je 0x4066cd
cmp eax, 0x7d
jne 0x40664e
test dword [esi + 0x50], 0x10000000
je 0x4066db
jmp 0x406660
cmp eax, 0x5d
jne 0x406660
test dword [esi + 0x50], 0x10000000
je 0x4066e2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00406d80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4066a8
cmp byte [eax], 0x5c
jne 0x4066a6
inc eax
cmp eax, ecx
je 0x4066a6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x406693
mov dl, byte [eax]
cmp dl, 0x28
je 0x4066a4
cmp dl, 0x29
je 0x4066a4
test cl, 0x10
jne 0x4066a6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4066a4
cmp cl, 0x7d
jne 0x4066a6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00405d00
mov ecx, esi
call fcn.00406b50
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x406276
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00405cf0
push 5
call fcn.00405cf0
push 6
call fcn.00405cf0
push 4
call fcn.00405cf0
int3