Function at 0x102ca8c0
Capabilities:
Parse credit card information

Disassembly:
mov edx, dword [esp + 4]
test edx, edx
jne 0x102ca8cc
or eax, 0xffffffff
ret
push ebp
push edi
mov edi, dword [edx]
mov ebp, edi
mov al, byte [ebp]
cmp al, 0x61
jl 0x102ca8e1
cmp al, 0x7a
jle 0x102ca9cd
cmp al, 0x41
jl 0x102ca8ed
cmp al, 0x5a
jle 0x102ca9cd
cmp al, 0x30
jl 0x102ca8f9
cmp al, 0x39
jle 0x102ca9cd
cmp al, 0x2d
je 0x102ca9cd
cmp al, 0x5f
je 0x102ca9cd
cmp al, 0x2e
je 0x102ca9cd
cmp al, 0x21
je 0x102ca9cd
cmp al, 0x7e
je 0x102ca9cd
cmp al, 0x2a
je 0x102ca9cd
cmp al, 0x27
je 0x102ca9cd
cmp al, 0x28
je 0x102ca9cd
cmp al, 0x29
je 0x102ca9cd
cmp al, 0x25
jne 0x102ca987
mov cl, byte [ebp + 1]
cmp cl, 0x30
jl 0x102ca952
cmp cl, 0x39
jle 0x102ca966
cmp cl, 0x61
jl 0x102ca95c
cmp cl, 0x66
jle 0x102ca966
cmp cl, 0x41
jl 0x102ca987
cmp cl, 0x46
jg 0x102ca987
mov cl, byte [ebp + 2]
cmp cl, 0x30
jl 0x102ca973
cmp cl, 0x39
jle 0x102ca9cd
cmp cl, 0x61
jl 0x102ca97d
cmp cl, 0x66
jle 0x102ca9cd
cmp cl, 0x41
jl 0x102ca987
cmp cl, 0x46
jle 0x102ca9cd
cmp al, 0x3a
je 0x102ca9cd
cmp al, 0x40
je 0x102ca9cd
cmp al, 0x26
je 0x102ca9cd
cmp al, 0x3d
je 0x102ca9cd
cmp al, 0x2b
je 0x102ca9cd
cmp al, 0x24
je 0x102ca9cd
cmp al, 0x2c
je 0x102ca9cd
test ebx, ebx
je 0x102ca9dd
test byte [ebx + 0x24], 1
je 0x102ca9dd
cmp al, 0x7b
je 0x102ca9cd
cmp al, 0x7d
je 0x102ca9cd
cmp al, 0x7c
je 0x102ca9cd
cmp al, 0x5c
je 0x102ca9cd
cmp al, 0x5e
je 0x102ca9cd
cmp al, 0x5b
je 0x102ca9cd
cmp al, 0x5d
je 0x102ca9cd
cmp al, 0x60
jne 0x102ca9dd
cmp al, 0x25
jne 0x102cab0b
add ebp, 3
jmp 0x102ca8d2
cmp byte [ebp], 0x3b
jne 0x102cab05
add ebp, 1
lea ebx, [ebx]
mov al, byte [ebp]
cmp al, 0x61
jl 0x102ca9ff
cmp al, 0x7a
jle 0x102caaeb
cmp al, 0x41
jl 0x102caa0b
cmp al, 0x5a
jle 0x102caaeb
cmp al, 0x30
jl 0x102caa17
cmp al, 0x39
jle 0x102caaeb
cmp al, 0x2d
je 0x102caaeb
cmp al, 0x5f
je 0x102caaeb
cmp al, 0x2e
je 0x102caaeb
cmp al, 0x21
je 0x102caaeb
cmp al, 0x7e
je 0x102caaeb
cmp al, 0x2a
je 0x102caaeb
cmp al, 0x27
je 0x102caaeb
cmp al, 0x28
je 0x102caaeb
cmp al, 0x29
je 0x102caaeb
cmp al, 0x25
jne 0x102caaa5
mov cl, byte [ebp + 1]
cmp cl, 0x30
jl 0x102caa70
cmp cl, 0x39
jle 0x102caa84
cmp cl, 0x61
jl 0x102caa7a
cmp cl, 0x66
jle 0x102caa84
cmp cl, 0x41
jl 0x102caaa5
cmp cl, 0x46
jg 0x102caaa5
mov cl, byte [ebp + 2]
cmp cl, 0x30
jl 0x102caa91
cmp cl, 0x39
jle 0x102caaeb
cmp cl, 0x61
jl 0x102caa9b
cmp cl, 0x66
jle 0x102caaeb
cmp cl, 0x41
jl 0x102caaa5
cmp cl, 0x46
jle 0x102caaeb
cmp al, 0x3a
je 0x102caaeb
cmp al, 0x40
je 0x102caaeb
cmp al, 0x26
je 0x102caaeb
cmp al, 0x3d
je 0x102caaeb
cmp al, 0x2b
je 0x102caaeb
cmp al, 0x24
je 0x102caaeb
cmp al, 0x2c
je 0x102caaeb
test ebx, ebx
je 0x102caafb
test byte [ebx + 0x24], 1
je 0x102caafb
cmp al, 0x7b
je 0x102caaeb
cmp al, 0x7d
je 0x102caaeb
cmp al, 0x7c
je 0x102caaeb
cmp al, 0x5c
je 0x102caaeb
cmp al, 0x5e
je 0x102caaeb
cmp al, 0x5b
je 0x102caaeb
cmp al, 0x5d
je 0x102caaeb
cmp al, 0x60
jne 0x102caafb
cmp al, 0x25
jne 0x102ca9e7
add ebp, 3
jmp 0x102ca9f0
cmp byte [ebp], 0x3b
je 0x102ca9e7
cmp byte [ebp], 0x2f
jne 0x102cab13
add ebp, 1
jmp 0x102ca8d2
test ebx, ebx
push esi
je 0x102cabf7
mov eax, ebp
xor esi, esi
sub eax, edi
cmp dword [esp + 0x14], esi
je 0x102cab2b
add eax, 1
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x102cab44
mov esi, ecx
lea edx, [esi + 1]
mov cl, byte [esi]
add esi, 1
test cl, cl
jne 0x102cab37
sub esi, edx
add eax, esi
add eax, 1
push eax
call dword [0x10c65338]
mov edi, eax
add esp, 4
test edi, edi
jne 0x102cab7f
call fcn.102ab5b0
mov esi, eax
call fcn.102ab5f0
mov eax, dword [eax]
mov ecx, dword [esi]
push 0x10364e80
push eax
call ecx
mov edx, dword [esp + 0x18]
add esp, 8
pop esi
pop edi
mov dword [edx], ebp
or eax, 0xffffffff
pop ebp
ret
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x102cab91
push esi
push eax
push edi
call fcn.1030ad1f
add esp, 0xc
cmp dword [esp + 0x14], 0
je 0x102cab9f
mov byte [edi + esi], 0x2f
add esi, 1
mov eax, dword [esp + 0x10]
lea ecx, [edi + esi]
mov byte [ecx], 0
mov edx, dword [eax]
mov eax, ebp
sub eax, edx
test eax, eax
jle 0x102cabdf
test byte [ebx + 0x24], 2
je 0x102cabd4
push eax
push edx
push ecx
call fcn.1030ad1f
mov edx, dword [esp + 0x1c]
mov ecx, edi
sub ecx, dword [edx]
add esp, 0xc
add ecx, esi
mov byte [ecx + ebp], 0
jmp 0x102cabdf
push ecx
push eax
push edx
call fcn.102c98b0
add esp, 0xc
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x102cabf0
push eax
call dword [0x10c65330]
add esp, 4
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x18], edi
pop esi
pop edi
mov dword [edx], ebp
xor eax, eax
pop ebp
ret