Function at 0x102c9f40
Capabilities:
Parse credit card information

Disassembly:
test edi, edi
jne 0x102c9f48
or eax, 0xffffffff
ret
push esi
mov esi, dword [edi]
mov al, byte [esi]
cmp al, 0x61
mov edx, 1
jl 0x102c9f5e
cmp al, 0x7a
jle 0x102ca058
cmp al, 0x41
jl 0x102c9f6a
cmp al, 0x5a
jle 0x102ca058
cmp al, 0x30
jl 0x102c9f76
cmp al, 0x39
jle 0x102ca058
cmp al, 0x2d
je 0x102ca058
cmp al, 0x5f
je 0x102ca058
cmp al, 0x2e
je 0x102ca058
cmp al, 0x21
je 0x102ca058
cmp al, 0x7e
je 0x102ca058
cmp al, 0x2a
je 0x102ca058
cmp al, 0x27
je 0x102ca058
cmp al, 0x28
je 0x102ca058
cmp al, 0x29
je 0x102ca058
cmp al, 0x25
jne 0x102ca004
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102c9fcf
cmp cl, 0x39
jle 0x102c9fe3
cmp cl, 0x61
jl 0x102c9fd9
cmp cl, 0x66
jle 0x102c9fe3
cmp cl, 0x41
jl 0x102ca004
cmp cl, 0x46
jg 0x102ca004
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102c9ff0
cmp cl, 0x39
jle 0x102ca058
cmp cl, 0x61
jl 0x102c9ffa
cmp cl, 0x66
jle 0x102ca058
cmp cl, 0x41
jl 0x102ca004
cmp cl, 0x46
jle 0x102ca058
cmp al, 0x3b
je 0x102ca058
cmp al, 0x3f
je 0x102ca058
cmp al, 0x3a
je 0x102ca058
cmp al, 0x40
je 0x102ca058
cmp al, 0x26
je 0x102ca058
cmp al, 0x3d
je 0x102ca058
cmp al, 0x2b
je 0x102ca058
cmp al, 0x24
je 0x102ca058
cmp al, 0x2c
je 0x102ca058
test ebx, ebx
je 0x102ca051
test byte [ebx + 0x24], dl
je 0x102ca051
cmp al, 0x7b
je 0x102ca058
cmp al, 0x7d
je 0x102ca058
cmp al, 0x7c
je 0x102ca058
cmp al, 0x5c
je 0x102ca058
cmp al, 0x5e
je 0x102ca058
cmp al, 0x5b
je 0x102ca058
cmp al, 0x5d
je 0x102ca058
cmp al, 0x60
je 0x102ca058
mov eax, 3
pop esi
ret
cmp al, 0x25
jne 0x102ca061
add esi, 3
jmp 0x102ca063
add esi, edx
mov al, byte [esi]
cmp al, 0x61
jl 0x102ca06d
cmp al, 0x7a
jle 0x102ca058
cmp al, 0x41
jl 0x102ca075
cmp al, 0x5a
jle 0x102ca058
cmp al, 0x30
jl 0x102ca07d
cmp al, 0x39
jle 0x102ca058
cmp al, 0x2d
je 0x102ca058
cmp al, 0x5f
je 0x102ca058
cmp al, 0x2e
je 0x102ca058
cmp al, 0x21
je 0x102ca058
cmp al, 0x7e
je 0x102ca058
cmp al, 0x2a
je 0x102ca058
cmp al, 0x27
je 0x102ca058
cmp al, 0x28
je 0x102ca058
cmp al, 0x29
je 0x102ca058
cmp al, 0x25
jne 0x102ca0ef
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102ca0b2
cmp cl, 0x39
jle 0x102ca0c6
cmp cl, 0x61
jl 0x102ca0bc
cmp cl, 0x66
jle 0x102ca0c6
cmp cl, 0x41
jl 0x102ca0ef
cmp cl, 0x46
jg 0x102ca0ef
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102ca0d3
cmp cl, 0x39
jle 0x102ca058
cmp cl, 0x61
jl 0x102ca0e1
cmp cl, 0x66
jle 0x102ca058
cmp cl, 0x41
jl 0x102ca0ef
cmp cl, 0x46
jle 0x102ca058
cmp al, 0x3b
je 0x102ca058
cmp al, 0x2f
je 0x102ca058
cmp al, 0x3f
je 0x102ca058
cmp al, 0x3a
je 0x102ca058
cmp al, 0x40
je 0x102ca058
cmp al, 0x26
je 0x102ca058
cmp al, 0x3d
je 0x102ca058
cmp al, 0x2b
je 0x102ca058
cmp al, 0x24
je 0x102ca058
cmp al, 0x2c
je 0x102ca058
cmp al, 0x5b
je 0x102ca058
cmp al, 0x5d
je 0x102ca058
test ebx, ebx
je 0x102ca1cb
test byte [ebx + 0x24], dl
je 0x102ca188
cmp al, 0x7b
je 0x102ca058
cmp al, 0x7d
je 0x102ca058
cmp al, 0x7c
je 0x102ca058
cmp al, 0x5c
je 0x102ca058
cmp al, 0x5e
je 0x102ca058
cmp al, 0x60
je 0x102ca058
mov eax, dword [ebx + 4]
test eax, eax
je 0x102ca199
push eax
call dword [0x10c65330]
add esp, 4
test byte [ebx + 0x24], 2
mov eax, dword [edi]
je 0x102ca1b8
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.102aaa70
add esp, 8
mov dword [ebx + 4], 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 + 4], eax
mov dword [edi], esi
xor eax, eax
pop esi
ret