Function at 0x102ca640
Capabilities:
Parse credit card information

Disassembly:
test edi, edi
jne 0x102ca648
or eax, 0xffffffff
ret
push esi
mov esi, dword [edi]
mov al, byte [esi]
cmp al, 0x61
mov edx, 1
jl 0x102ca65e
cmp al, 0x7a
jle 0x102ca750
cmp al, 0x41
jl 0x102ca66a
cmp al, 0x5a
jle 0x102ca750
cmp al, 0x30
jl 0x102ca676
cmp al, 0x39
jle 0x102ca750
cmp al, 0x2d
je 0x102ca750
cmp al, 0x5f
je 0x102ca750
cmp al, 0x2e
je 0x102ca750
cmp al, 0x21
je 0x102ca750
cmp al, 0x7e
je 0x102ca750
cmp al, 0x2a
je 0x102ca750
cmp al, 0x27
je 0x102ca750
cmp al, 0x28
je 0x102ca750
cmp al, 0x29
je 0x102ca750
cmp al, 0x25
jne 0x102ca704
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102ca6cf
cmp cl, 0x39
jle 0x102ca6e3
cmp cl, 0x61
jl 0x102ca6d9
cmp cl, 0x66
jle 0x102ca6e3
cmp cl, 0x41
jl 0x102ca704
cmp cl, 0x46
jg 0x102ca704
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102ca6f0
cmp cl, 0x39
jle 0x102ca750
cmp cl, 0x61
jl 0x102ca6fa
cmp cl, 0x66
jle 0x102ca750
cmp cl, 0x41
jl 0x102ca704
cmp cl, 0x46
jle 0x102ca750
cmp al, 0x3b
je 0x102ca750
cmp al, 0x40
je 0x102ca750
cmp al, 0x26
je 0x102ca750
cmp al, 0x3d
je 0x102ca750
cmp al, 0x2b
je 0x102ca750
cmp al, 0x24
je 0x102ca750
cmp al, 0x2c
je 0x102ca750
test ebx, ebx
je 0x102ca749
test byte [ebx + 0x24], dl
je 0x102ca749
cmp al, 0x7b
je 0x102ca750
cmp al, 0x7d
je 0x102ca750
cmp al, 0x7c
je 0x102ca750
cmp al, 0x5c
je 0x102ca750
cmp al, 0x5e
je 0x102ca750
cmp al, 0x5b
je 0x102ca750
cmp al, 0x5d
je 0x102ca750
cmp al, 0x60
je 0x102ca750
mov eax, 3
pop esi
ret
cmp al, 0x25
jne 0x102ca759
add esi, 3
jmp 0x102ca760
add esi, edx
jmp 0x102ca760
mov al, byte [esi]
cmp al, 0x61
jl 0x102ca76a
cmp al, 0x7a
jle 0x102ca750
cmp al, 0x41
jl 0x102ca772
cmp al, 0x5a
jle 0x102ca750
cmp al, 0x30
jl 0x102ca77a
cmp al, 0x39
jle 0x102ca750
cmp al, 0x2d
je 0x102ca750
cmp al, 0x5f
je 0x102ca750
cmp al, 0x2e
je 0x102ca750
cmp al, 0x21
je 0x102ca750
cmp al, 0x7e
je 0x102ca750
cmp al, 0x2a
je 0x102ca750
cmp al, 0x27
je 0x102ca750
cmp al, 0x28
je 0x102ca750
cmp al, 0x29
je 0x102ca750
cmp al, 0x25
jne 0x102ca7ec
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102ca7af
cmp cl, 0x39
jle 0x102ca7c3
cmp cl, 0x61
jl 0x102ca7b9
cmp cl, 0x66
jle 0x102ca7c3
cmp cl, 0x41
jl 0x102ca7ec
cmp cl, 0x46
jg 0x102ca7ec
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102ca7d0
cmp cl, 0x39
jle 0x102ca750
cmp cl, 0x61
jl 0x102ca7de
cmp cl, 0x66
jle 0x102ca750
cmp cl, 0x41
jl 0x102ca7ec
cmp cl, 0x46
jle 0x102ca750
cmp al, 0x3b
je 0x102ca750
cmp al, 0x40
je 0x102ca750
cmp al, 0x26
je 0x102ca750
cmp al, 0x3d
je 0x102ca750
cmp al, 0x2b
je 0x102ca750
cmp al, 0x24
je 0x102ca750
cmp al, 0x2c
je 0x102ca750
test ebx, ebx
je 0x102ca8b4
test byte [ebx + 0x24], dl
je 0x102ca871
cmp al, 0x7b
je 0x102ca750
cmp al, 0x7d
je 0x102ca750
cmp al, 0x7c
je 0x102ca750
cmp al, 0x5c
je 0x102ca750
cmp al, 0x5e
je 0x102ca750
cmp al, 0x5b
je 0x102ca750
cmp al, 0x5d
je 0x102ca750
cmp al, 0x60
je 0x102ca750
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x102ca882
push eax
call dword [0x10c65330]
add esp, 4
test byte [ebx + 0x24], 2
mov eax, dword [edi]
je 0x102ca8a1
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.102aaa70
add esp, 8
mov dword [ebx + 0x18], eax
mov dword [edi], esi
xor eax, eax
pop esi
ret
mov edx, esi
push 0
sub edx, eax
push edx
push eax
call fcn.102c98b0
add esp, 0xc
mov dword [ebx + 0x18], eax
mov dword [edi], esi
xor eax, eax
pop esi
ret