Function at 0x102cac00
Capabilities:
Parse credit card information

Disassembly:
test edi, edi
push ebp
mov ebp, dword [esp + 8]
jne 0x102cac0e
or eax, 0xffffffff
pop ebp
ret
push esi
mov esi, dword [edi]
push edi
push ebp
call fcn.102ca1e0
add esp, 8
test eax, eax
jne 0x102cac3f
mov eax, dword [edi]
test eax, eax
je 0x102cac3f
mov al, byte [eax]
test al, al
je 0x102cae5b
cmp al, 0x2f
je 0x102cae5b
cmp al, 0x3f
je 0x102cae5b
mov dword [edi], esi
mov al, byte [esi]
cmp al, 0x61
jl 0x102cac4f
cmp al, 0x7a
jle 0x102cad09
cmp al, 0x41
jl 0x102cac5b
cmp al, 0x5a
jle 0x102cad09
cmp al, 0x30
jl 0x102cac67
cmp al, 0x39
jle 0x102cad09
cmp al, 0x2d
je 0x102cad09
cmp al, 0x5f
je 0x102cad09
cmp al, 0x2e
je 0x102cad09
cmp al, 0x21
je 0x102cad09
cmp al, 0x7e
je 0x102cad09
cmp al, 0x2a
je 0x102cad09
cmp al, 0x27
je 0x102cad09
cmp al, 0x28
je 0x102cad09
cmp al, 0x29
je 0x102cad09
cmp al, 0x25
jne 0x102cace1
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102cacac
cmp cl, 0x39
jle 0x102cacc0
cmp cl, 0x61
jl 0x102cacb6
cmp cl, 0x66
jle 0x102cacc0
cmp cl, 0x41
jl 0x102cace1
cmp cl, 0x46
jg 0x102cace1
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102caccd
cmp cl, 0x39
jle 0x102cad09
cmp cl, 0x61
jl 0x102cacd7
cmp cl, 0x66
jle 0x102cad09
cmp cl, 0x41
jl 0x102cace1
cmp cl, 0x46
jle 0x102cad09
cmp al, 0x24
je 0x102cad09
cmp al, 0x2c
je 0x102cad09
cmp al, 0x3b
je 0x102cad09
cmp al, 0x3a
je 0x102cad09
cmp al, 0x40
je 0x102cad09
cmp al, 0x26
je 0x102cad09
cmp al, 0x3d
je 0x102cad09
cmp al, 0x2b
je 0x102cad09
pop esi
mov eax, 5
pop ebp
ret
cmp al, 0x25
jne 0x102cad12
add esi, 3
jmp 0x102cad15
add esi, 1
mov al, byte [esi]
cmp al, 0x61
jl 0x102cad1f
cmp al, 0x7a
jle 0x102cad09
cmp al, 0x41
jl 0x102cad27
cmp al, 0x5a
jle 0x102cad09
cmp al, 0x30
jl 0x102cad2f
cmp al, 0x39
jle 0x102cad09
cmp al, 0x2d
je 0x102cad09
cmp al, 0x5f
je 0x102cad09
cmp al, 0x2e
je 0x102cad09
cmp al, 0x21
je 0x102cad09
cmp al, 0x7e
je 0x102cad09
cmp al, 0x2a
je 0x102cad09
cmp al, 0x27
je 0x102cad09
cmp al, 0x28
je 0x102cad09
cmp al, 0x29
je 0x102cad09
cmp al, 0x25
jne 0x102cada1
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x102cad64
cmp cl, 0x39
jle 0x102cad78
cmp cl, 0x61
jl 0x102cad6e
cmp cl, 0x66
jle 0x102cad78
cmp cl, 0x41
jl 0x102cada1
cmp cl, 0x46
jg 0x102cada1
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x102cad85
cmp cl, 0x39
jle 0x102cad09
cmp cl, 0x61
jl 0x102cad93
cmp cl, 0x66
jle 0x102cad09
cmp cl, 0x41
jl 0x102cada1
cmp cl, 0x46
jle 0x102cad09
cmp al, 0x24
je 0x102cad09
cmp al, 0x2c
je 0x102cad09
cmp al, 0x3b
je 0x102cad09
cmp al, 0x3a
je 0x102cad09
cmp al, 0x40
je 0x102cad09
cmp al, 0x26
je 0x102cad09
cmp al, 0x3d
je 0x102cad09
cmp al, 0x2b
je 0x102cad09
test ebp, ebp
je 0x102cae59
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x102cadf6
push eax
call dword [0x10c65330]
add esp, 4
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [ebp + 0xc], 0
je 0x102cae0e
push eax
call dword [0x10c65330]
add esp, 4
mov eax, dword [ebp + 8]
test eax, eax
mov dword [ebp + 0x10], 0
je 0x102cae26
push eax
call dword [0x10c65330]
add esp, 4
test byte [ebp + 0x24], 2
mov eax, dword [edi]
je 0x102cae46
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.102aaa70
add esp, 8
mov dword [ebp + 8], eax
mov dword [edi], esi
pop esi
xor eax, eax
pop ebp
ret
mov edx, esi
push 0
sub edx, eax
push edx
push eax
call fcn.102c98b0
add esp, 0xc
mov dword [ebp + 8], eax
mov dword [edi], esi
pop esi
xor eax, eax
pop ebp
ret