Function at 0x686387b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [ebp - 0x28], ecx
movzx ecx, byte [eax]
test cl, cl
je 0x68638891
mov dword [ebp - 0x24], edx
cmp cl, 0x5c
je 0x68638a40
cmp cl, 0x5b
je 0x686388d0
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x686387ec
cmp cl, 0x23
je 0x686389ec
cmp cl, 0x28
jne 0x68638a00
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp cl, 0x2a
je 0x6863880a
cmp cl, 0x3f
jne 0x686388a3
movzx edx, byte [eax + 2]
lea ebx, [eax + 2]
cmp dl, 0x50
je 0x686389b0
cmp dl, 0x3c
je 0x68638990
cmp dl, 0x27
jne 0x68638882
inc dword [ebp - 0x24]
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x24], ecx
je 0x68638a88
movzx edx, dl
cmp edx, 0x3c
lea ecx, [ebx + 1]
je 0x686389c0
movzx eax, byte [ecx]
mov ebx, ecx
cmp eax, edx
je 0x68638858
nop
inc ebx
movzx eax, byte [ebx]
cmp eax, edx
jne 0x68638850
mov esi, dword [ebp + 8]
test esi, esi
je 0x68638882
mov eax, ebx
sub eax, ecx
cmp eax, dword [ebp + 0xc]
jne 0x68638882
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call sym._strncmp
test eax, eax
je 0x686388bd
movzx ecx, byte [ebx + 1]
lea eax, [ebx + 1]
test cl, cl
jne 0x686387ca
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
inc dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 0x24], eax
jne 0x68638a81
mov edi, dword [ebp + 8]
test edi, edi
jne 0x68638a81
mov eax, dword [ebp - 0x24]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
xor edx, edx
lea esi, [esi]
lea edi, [edi]
inc eax
movzx ecx, byte [eax]
cmp ecx, 0x5c
je 0x68638900
cmp ecx, 0x5e
jne 0x68638935
test edx, edx
jne 0x68638935
inc eax
mov edx, 1
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x686388e9
lea ecx, [eax + 1]
mov dword [ebp - 0x20], ecx
movzx ecx, byte [eax + 1]
cmp cl, 0x45
mov byte [ebp - 0x19], cl
je 0x68638930
mov esi, dword [ebp - 0x20]
mov edi, 0x6869f11c
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x68638a10
add eax, 3
jmp 0x686388e0
mov eax, dword [ebp - 0x20]
jmp 0x686388e0
lea ebx, [eax + 1]
movzx eax, byte [eax + 1]
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0x5d
je 0x686389d0
movzx eax, byte [ebp - 0x19]
cmp al, 0x5d
je 0x68638882
test al, al
je 0x68638891
cmp al, 0x5c
je 0x68638970
movzx eax, byte [ebx + 1]
inc ebx
cmp al, 0x5d
jne 0x68638955
jmp 0x68638882
movzx eax, byte [ebx + 1]
lea edx, [ebx + 1]
test al, al
je 0x68638891
cmp al, 0x51
je 0x68638a18
movzx eax, byte [edx + 1]
add ebx, 2
jmp 0x6863894d
movzx ecx, byte [ebx + 1]
lea eax, [ebx + 1]
cmp cl, 0x21
je 0x68638a09
cmp cl, 0x3d
jne 0x68638828
mov cl, 0x3d
jmp 0x686387dc
lea ebx, [eax + 3]
movzx edx, byte [eax + 3]
jmp 0x6863881a
mov edx, 0x3e
jmp 0x68638846
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
test eax, 0x2000000
jne 0x68638949
movzx ecx, byte [ebx + 1]
inc ebx
mov al, cl
jmp 0x6863894d
inc eax
movzx edx, byte [eax]
test dl, dl
je 0x68638891
cmp dl, 0xa
jne 0x686389ec
lea esi, [esi]
inc eax
movzx ecx, byte [eax]
jmp 0x68638889
mov cl, 0x21
jmp 0x686387dc
mov ebx, dword [ebp - 0x20]
jmp 0x6863893f
inc edx
movzx eax, byte [edx]
test al, al
je 0x68638891
cmp al, 0x5c
jne 0x68638a18
inc edx
cmp byte [edx], 0x45
jne 0x68638a18
movzx eax, byte [edx + 1]
lea ebx, [edx + 1]
jmp 0x6863894d
movzx edx, byte [eax + 1]
lea ecx, [eax + 1]
test dl, dl
je 0x68638891
cmp dl, 0x51
je 0x68638a5f
add eax, 2
movzx ecx, byte [eax]
jmp 0x68638889
inc ecx
movzx eax, byte [ecx]
test al, al
je 0x68638891
cmp al, 0x5c
jne 0x68638a5f
inc ecx
cmp byte [ecx], 0x45
jne 0x68638a5f
lea eax, [ecx + 1]
movzx ecx, byte [ecx + 1]
jmp 0x68638889
mov eax, edx
jmp 0x68638889
cmp dword [ebp + 8], 0
jne 0x68638837
jmp 0x686388bd