Function at 0x42c6a0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
xor edi, edi
cmp ebp, edi
jne 0x42c6b6
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret
mov esi, dword [ebp]
mov al, byte [esi]
cmp al, 0x61
jl 0x42c6c7
cmp al, 0x7a
jle 0x42c769
cmp al, 0x41
jl 0x42c6d3
cmp al, 0x5a
jle 0x42c769
cmp al, 0x30
jl 0x42c6df
cmp al, 0x39
jle 0x42c769
cmp al, 0x2d
je 0x42c769
cmp al, 0x5f
je 0x42c769
cmp al, 0x2e
je 0x42c769
cmp al, 0x21
je 0x42c769
cmp al, 0x7e
je 0x42c769
cmp al, 0x2a
je 0x42c769
cmp al, 0x27
je 0x42c769
cmp al, 0x28
je 0x42c769
cmp al, 0x29
je 0x42c769
cmp al, 0x25
jne 0x42c74d
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x42c718
cmp cl, 0x39
jle 0x42c72c
cmp cl, 0x61
jl 0x42c722
cmp cl, 0x66
jle 0x42c72c
cmp cl, 0x41
jl 0x42c74d
cmp cl, 0x46
jg 0x42c74d
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x42c739
cmp cl, 0x39
jle 0x42c769
cmp cl, 0x61
jl 0x42c743
cmp cl, 0x66
jle 0x42c769
cmp cl, 0x41
jl 0x42c74d
cmp cl, 0x46
jle 0x42c769
cmp al, 0x3b
je 0x42c769
cmp al, 0x3a
je 0x42c769
cmp al, 0x26
je 0x42c769
cmp al, 0x3d
je 0x42c769
cmp al, 0x2b
je 0x42c769
cmp al, 0x24
je 0x42c769
cmp al, 0x2c
jne 0x42c77b
cmp al, 0x25
jne 0x42c775
add esi, 3
jmp 0x42c6b9
inc esi
jmp 0x42c6b9
mov al, byte [esi]
mov ebx, dword [esp + 0x14]
cmp al, 0x40
jne 0x42c7cc
cmp ebx, edi
je 0x42c7c9
mov eax, dword [ebx + 0x10]
cmp eax, edi
je 0x42c79a
push eax
call dword [0x44ac58]
add esp, 4
test byte [ebx + 0x24], 2
mov eax, dword [ebp]
je 0x42c7b7
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.00410960
add esp, 8
mov dword [ebx + 0x18], eax
inc esi
jmp 0x42c7e7
mov edx, esi
push edi
sub edx, eax
push edx
push eax
call fcn.0042b500
add esp, 0xc
mov dword [ebx + 0x10], eax
inc esi
jmp 0x42c7e7
cmp ebx, edi
je 0x42c7e4
mov eax, dword [ebx + 0x10]
cmp eax, edi
je 0x42c7e1
push eax
call dword [0x44ac58]
add esp, 4
mov dword [ebx + 0x10], edi
mov esi, dword [ebp]
mov al, byte [esi]
mov ebp, esi
cmp al, 0x2f
mov dword [esp + 0x14], ebp
jne 0x42c82d
cmp ebx, edi
je 0x42cac2
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x42c80c
push eax
call dword [0x44ac58]
add esp, 4
mov eax, dword [ebx + 0xc]
mov dword [ebx + 8], edi
cmp eax, edi
je 0x42c820
push eax
call dword [0x44ac58]
add esp, 4
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x14], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
cmp al, 0x5b
jne 0x42c8dc
lea ebp, [esi + 1]
xor ecx, ecx
mov esi, ebp
xor edi, edi
cmp byte [esi], 0x3a
jne 0x42c85a
test ecx, ecx
jne 0x42c8a0
test edi, edi
jne 0x42c853
mov al, byte [esi + 1]
inc esi
cmp al, 0x3a
jne 0x42c8a0
mov ecx, 1
jmp 0x42c881
mov al, byte [esi]
cmp al, 0x30
jl 0x42c864
cmp al, 0x39
jle 0x42c874
cmp al, 0x61
jl 0x42c86c
cmp al, 0x66
jle 0x42c874
cmp al, 0x41
jl 0x42c877
cmp al, 0x46
jg 0x42c877
inc esi
jmp 0x42c85a
cmp edi, 7
je 0x42c882
cmp byte [esi], 0x3a
jne 0x42c888
inc esi
inc edi
cmp edi, 8
jl 0x42c83e
test ecx, ecx
jne 0x42c89b
cmp edi, 8
je 0x42c89b
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
ret
cmp byte [esi], 0x5d
je 0x42c8aa
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
ret
test ebx, ebx
je 0x42c8d5
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x42c8bf
push eax
call dword [0x44ac58]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, esi
sub eax, ecx
dec eax
push eax
push ebp
call fcn.00410960
add esp, 8
mov dword [ebx + 0xc], eax
mov ebp, dword [esp + 0x14]
inc esi
jmp 0x42c905
xor edi, edi
mov al, byte [esi]
cmp al, 0x2e
je 0x42c8a0
cmp al, 0x30
jl 0x42c8f4
cmp al, 0x39
jg 0x42c8f4
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x42c8e8
cmp edi, 3
je 0x42c8ff
cmp byte [esi], 0x2e
jne 0x42c905
inc esi
inc edi
cmp edi, 4
jl 0x42c8de
cmp byte [ebp], 0x5b
je 0x42ca1d
cmp edi, 4
jl 0x42c93a
cmp byte [esi], 0x2e
jne 0x42c920
mov ecx, esi
inc esi
test ecx, ecx
jne 0x42c93a
mov al, byte [esi]
cmp al, 0x61
jl 0x42c92a
cmp al, 0x7a
jle 0x42c93a
cmp al, 0x41
jl 0x42ca1d
cmp al, 0x5a
jg 0x42ca1d
mov al, byte [esi]
cmp al, 0x61
jl 0x42c944
cmp al, 0x7a
jle 0x42c95c
cmp al, 0x41
jl 0x42c94c
cmp al, 0x5a
jle 0x42c95c
cmp al, 0x30
jl 0x42ca13
cmp al, 0x39
jg 0x42ca13
mov al, byte [esi + 1]
inc esi
cmp al, 0x61
jl 0x42c968
cmp al, 0x7a
jle 0x42c95c
cmp al, 0x41
jl 0x42c970
cmp al, 0x5a
jle 0x42c95c
cmp al, 0x30
jl 0x42c978
cmp al, 0x39
jle 0x42c95c
mov al, byte [esi]
cmp al, 0x2d
jne 0x42c989
mov al, byte [esi - 1]
dec esi
cmp al, 0x2e
je 0x42c99c
inc esi
jmp 0x42c95c
cmp al, 0x2e
jne 0x42c9ba
mov al, byte [esi - 1]
dec esi
cmp al, 0x2d
je 0x42c9a6
cmp al, 0x2e
je 0x42c9b0
inc esi
jmp 0x42c95c
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
ret
mov dl, byte [esi - 1]
lea eax, [esi - 1]
cmp dl, 0x2e
mov ecx, esi
jne 0x42c9c9
mov ecx, eax
dec ecx
cmp ecx, ebp
jb 0x42c9e8
mov al, byte [ecx]
cmp al, 0x61
jl 0x42c9d8
cmp al, 0x7a
jle 0x42c9c9
cmp al, 0x41
jl 0x42c9e0
cmp al, 0x5a
jle 0x42c9c9
cmp al, 0x30
jl 0x42c9e8
cmp al, 0x39
jle 0x42c9c9
inc ecx
cmp ecx, ebp
je 0x42c9f3
cmp byte [ecx - 1], 0x2e
jne 0x42ca1d
mov cl, byte [ecx]
cmp cl, 0x61
jl 0x42c9ff
cmp cl, 0x7a
jle 0x42ca1d
cmp cl, 0x41
jl 0x42ca09
cmp cl, 0x5a
jle 0x42ca1d
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
ret
test ebx, ebx
je 0x42ca7a
mov eax, dword [ebx + 8]
test eax, eax
je 0x42ca32
push eax
call dword [0x44ac58]
add esp, 4
mov dword [ebx + 8], 0
mov al, byte [ebp]
cmp al, 0x5b
je 0x42ca7a
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x42ca51
push eax
call dword [0x44ac58]
add esp, 4
test byte [ebx + 0x24], 2
je 0x42ca67
mov edx, esi
sub edx, ebp
push edx
push ebp
call fcn.00410960
add esp, 8
jmp 0x42ca77
mov eax, esi
push 0
sub eax, ebp
push eax
push ebp
call fcn.0042b500
add esp, 0xc
mov dword [ebx + 0xc], eax
cmp byte [esi], 0x3a
jne 0x42cabc
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl 0x42cabc
cmp al, 0x39
jg 0x42cabc
test ebx, ebx
je 0x42ca96
mov dword [ebx + 0x14], 0
mov al, byte [esi]
cmp al, 0x30
jl 0x42cabc
cmp al, 0x39
jg 0x42cabc
test ebx, ebx
je 0x42cab4
mov ecx, dword [ebx + 0x14]
movsx edx, al
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*2 - 0x30]
mov dword [ebx + 0x14], eax
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x42ca9c
mov ecx, dword [esp + 0x18]
mov dword [ecx], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret