Function at 0xa095f0
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 0xa09a57
lea edi, [esi + 8]
cmp eax, 0x7c
je 0xa09a57
cmp eax, 0x29
jne 0xa09630
cmp dword [esi + 0x10], 0
jne 0xa09a57
test dword [esi + 0x50], 0x10000000
je 0xa09a64
jmp 0xa099f0
cmp eax, 0x2e
jne 0xa09683
push 5
lea ecx, [esi + 0x24]
call fcn.00a09a80
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa09a38
cmp byte [eax], 0x5c
jne 0xa0983f
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa0983f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xa0967b
mov dl, byte [ecx]
cmp dl, 0x28
je 0xa0983d
cmp dl, 0x29
je 0xa0983d
test bl, 0x10
jmp 0xa0982f
cmp eax, 0x5c
jne 0xa097a1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa096ca
cmp byte [eax], 0x5c
jne 0xa096c7
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa096c7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xa096b4
mov dl, byte [ecx]
cmp dl, 0x28
je 0xa096c5
cmp dl, 0x29
je 0xa096c5
test bl, 0x10
jne 0xa096c7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa096c5
cmp dl, 0x7d
jne 0xa096c7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
test byte [esi + 0x50], 0x80
je 0xa09795
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0xa09736
push 4
lea ecx, [esi + 0x24]
call fcn.00a09a80
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa0972a
cmp byte [eax], 0x5c
jne 0xa09727
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa09727
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xa09714
mov dl, byte [ecx]
cmp dl, 0x28
je 0xa09725
cmp dl, 0x29
je 0xa09725
test bl, 0x10
jne 0xa09727
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa09725
cmp dl, 0x7d
jne 0xa09727
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
jmp 0xa09a49
cmp al, 0x42
jne 0xa09795
push 4
lea ecx, [esi + 0x24]
call fcn.00a09a80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa09789
cmp byte [eax], 0x5c
jne 0xa09786
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa09786
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xa09773
mov al, byte [ecx]
cmp al, 0x28
je 0xa09784
cmp al, 0x29
je 0xa09784
mov eax, dword [esi]
test dl, 0x10
jne 0xa09786
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa09784
cmp dl, 0x7d
jne 0xa09786
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
jmp 0xa09a49
mov ecx, esi
call fcn.00a0afa0
jmp 0xa09a3f
cmp eax, 0x5b
jne 0xa09847
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa097e8
cmp byte [eax], 0x5c
jne 0xa097e5
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa097e5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xa097d2
mov al, byte [ecx]
cmp al, 0x28
je 0xa097e3
cmp al, 0x29
je 0xa097e3
mov eax, dword [esi]
test dl, 0x10
jne 0xa097e5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa097e3
cmp dl, 0x7d
jne 0xa097e5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
mov ecx, esi
call fcn.00a0ae70
cmp dword [esi + 0x4c], 0x5d
jne 0xa09a72
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa09a38
cmp byte [eax], 0x5c
jne 0xa0983f
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa0983f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xa0982c
mov al, byte [ecx]
cmp al, 0x28
je 0xa0983d
cmp al, 0x29
je 0xa0983d
mov eax, dword [esi]
test dl, 0x10
jne 0xa0983f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa0983d
cmp dl, 0x7d
jne 0xa0983f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0xa09a38
cmp eax, 0x28
jne 0xa098fa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa0988e
cmp byte [eax], 0x5c
jne 0xa0988b
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa0988b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xa09878
mov al, byte [ecx]
cmp al, 0x28
je 0xa09889
cmp al, 0x29
je 0xa09889
mov eax, dword [esi]
test dl, 0x10
jne 0xa0988b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa09889
cmp dl, 0x7d
jne 0xa0988b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
mov ecx, esi
call fcn.00a0b0f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0xa09a64
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xa098e6
cmp byte [eax], 0x5c
jne 0xa098e3
lea ecx, [eax + 1]
cmp ecx, edx
je 0xa098e3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xa098d0
mov al, byte [ecx]
cmp al, 0x28
je 0xa098e1
cmp al, 0x29
je 0xa098e1
mov eax, dword [esi]
test dl, 0x10
jne 0xa098e3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xa098e1
cmp dl, 0x7d
jne 0xa098e3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00a063e0
test bl, bl
je 0xa09a49
jmp 0xa09a3f
cmp eax, 0x5e
jne 0xa09950
push 2
lea ecx, [esi + 0x24]
call fcn.00a09a80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xa09944
cmp byte [eax], 0x5c
jne 0xa09942
inc eax
cmp eax, ecx
je 0xa09942
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xa0992f
mov dl, byte [eax]
cmp dl, 0x28
je 0xa09940
cmp dl, 0x29
je 0xa09940
test cl, 0x10
jne 0xa09942
mov cl, byte [eax]
cmp cl, 0x7b
je 0xa09940
cmp cl, 0x7d
jne 0xa09942
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00a063e0
jmp 0xa09a49
cmp eax, 0x24
jne 0xa099a6
push 3
lea ecx, [esi + 0x24]
call fcn.00a09a80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xa0999a
cmp byte [eax], 0x5c
jne 0xa09998
inc eax
cmp eax, ecx
je 0xa09998
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xa09985
mov dl, byte [eax]
cmp dl, 0x28
je 0xa09996
cmp dl, 0x29
je 0xa09996
test cl, 0x10
jne 0xa09998
mov cl, byte [eax]
cmp cl, 0x7b
je 0xa09996
cmp cl, 0x7d
jne 0xa09998
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00a063e0
jmp 0xa09a49
cmp eax, 0x2a
je 0xa09a5d
cmp eax, 0x2b
je 0xa09a5d
cmp eax, 0x3f
je 0xa09a5d
cmp eax, 0x7b
je 0xa09a5d
cmp eax, 0x7d
jne 0xa099de
test dword [esi + 0x50], 0x10000000
je 0xa09a6b
jmp 0xa099f0
cmp eax, 0x5d
jne 0xa099f0
test dword [esi + 0x50], 0x10000000
je 0xa09a72
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00a0b580
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xa09a38
cmp byte [eax], 0x5c
jne 0xa09a36
inc eax
cmp eax, ecx
je 0xa09a36
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xa09a23
mov dl, byte [eax]
cmp dl, 0x28
je 0xa09a34
cmp dl, 0x29
je 0xa09a34
test cl, 0x10
jne 0xa09a36
mov cl, byte [eax]
cmp cl, 0x7b
je 0xa09a34
cmp cl, 0x7d
jne 0xa09a36
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00a063e0
mov ecx, esi
call fcn.00a0b350
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0xa09606
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00a063d0
push 5
call fcn.00a063d0
push 6
call fcn.00a063d0
push 4
call fcn.00a063d0
int3