Function at 0x7ae690
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push esi
push edi
mov dl, byte [ebx]
mov ebp, ecx
cmp dl, 0x61
jl 0x7ae6a7
cmp dl, 0x7a
jle 0x7ae6b2
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x7ae768
mov byte [esp + 0x18], dl
cmp dl, 0x80
jae 0x7ae6c0
movsx eax, dl
jmp 0x7ae6cc
push dword [esp + 0x18]
call fcn.0075afd0
add esp, 4
lea edi, [ebp + 8]
push eax
mov ecx, edi
call fcn.004841b0
lea esi, [ebx + 1]
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, 0x61
jl 0x7ae6ec
cmp cl, 0x7a
jle 0x7ae709
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae709
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae709
cmp cl, 0x2b
je 0x7ae709
cmp cl, 0x2d
je 0x7ae709
cmp cl, 0x2e
jne 0x7ae737
mov byte [esp + 0x18], cl
cmp cl, 0x80
jae 0x7ae720
movsx eax, cl
mov ecx, edi
push eax
call fcn.004841b0
inc esi
jmp 0x7ae6e0
push dword [esp + 0x18]
call fcn.0075afd0
add esp, 4
mov ecx, edi
push eax
call fcn.004841b0
inc esi
jmp 0x7ae6e0
cmp cl, 0x3a
jne 0x7ae754
or dword [ebp + 0xec], 1
lea ebx, [esi + 1]
test ebx, ebx
jne 0x7ae768
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret 4
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 8
jb 0x7ae763
mov edi, dword [edi]
xor eax, eax
mov word [edi], ax
push ebx
mov ecx, ebp
call fcn.007ae970
test eax, eax
je 0x7ae74a
push eax
mov ecx, ebp
call fcn.007aeef0
mov esi, eax
test esi, esi
je 0x7ae74a
cmp byte [esi], 0x3f
jne 0x7ae873
mov cl, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
test cl, cl
je 0x7ae86c
nop dword [eax + eax]
cmp cl, 0x23
je 0x7ae86c
cmp cl, 0x61
jl 0x7ae7b7
cmp cl, 0x7a
jle 0x7ae83a
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae83a
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae83a
cmp cl, 0x2d
je 0x7ae83a
cmp cl, 0x2e
je 0x7ae83a
cmp cl, 0x5f
je 0x7ae83a
cmp cl, 0x7e
je 0x7ae83a
cmp cl, 0x21
je 0x7ae83a
cmp cl, 0x24
je 0x7ae83a
cmp cl, 0x26
je 0x7ae83a
cmp cl, 0x27
je 0x7ae83a
cmp cl, 0x28
je 0x7ae83a
cmp cl, 0x29
je 0x7ae83a
cmp cl, 0x2a
je 0x7ae83a
cmp cl, 0x2b
je 0x7ae83a
cmp cl, 0x2c
je 0x7ae83a
cmp cl, 0x3b
je 0x7ae83a
cmp cl, 0x3d
je 0x7ae83a
cmp cl, 0x3a
je 0x7ae83a
cmp cl, 0x40
je 0x7ae83a
cmp cl, 0x2f
je 0x7ae83a
cmp cl, 0x3f
je 0x7ae83a
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.007ae4b0
mov esi, dword [esp + 0x18]
jmp 0x7ae862
inc esi
mov byte [esp + 0x10], cl
mov dword [esp + 0x18], esi
cmp cl, 0x80
jae 0x7ae84d
movsx eax, cl
jmp 0x7ae859
push dword [esp + 0x10]
call fcn.0075afd0
add esp, 4
push eax
lea ecx, [ebp + 0x48]
call fcn.004841b0
mov cl, byte [esi]
test cl, cl
jne 0x7ae7a0
or dword [ebp + 0xec], 0x20
cmp byte [esi], 0x23
jne 0x7ae956
mov cl, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
test cl, cl
je 0x7ae94f
lea edi, [ebp + 0x68]
nop
cmp cl, 0x61
jl 0x7ae89e
cmp cl, 0x7a
jle 0x7ae91e
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae91e
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae91e
cmp cl, 0x2d
je 0x7ae91e
cmp cl, 0x2e
je 0x7ae91e
cmp cl, 0x5f
je 0x7ae91e
cmp cl, 0x7e
je 0x7ae91e
cmp cl, 0x21
je 0x7ae91e
cmp cl, 0x24
je 0x7ae91e
cmp cl, 0x26
je 0x7ae91e
cmp cl, 0x27
je 0x7ae91e
cmp cl, 0x28
je 0x7ae91e
cmp cl, 0x29
je 0x7ae91e
cmp cl, 0x2a
je 0x7ae91e
cmp cl, 0x2b
je 0x7ae91e
cmp cl, 0x2c
je 0x7ae91e
cmp cl, 0x3b
je 0x7ae91e
cmp cl, 0x3d
je 0x7ae91e
cmp cl, 0x3a
je 0x7ae91e
cmp cl, 0x40
je 0x7ae91e
cmp cl, 0x2f
je 0x7ae91e
cmp cl, 0x3f
je 0x7ae91e
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
push edi
call fcn.007ae4b0
mov esi, dword [esp + 0x18]
jmp 0x7ae945
inc esi
mov byte [esp + 0x10], cl
mov dword [esp + 0x18], esi
cmp cl, 0x80
jae 0x7ae931
movsx eax, cl
jmp 0x7ae93d
push dword [esp + 0x10]
call fcn.0075afd0
add esp, 4
push eax
mov ecx, edi
call fcn.004841b0
mov cl, byte [esi]
test cl, cl
jne 0x7ae890
or dword [ebp + 0xec], 0x40
cmp byte [esi], 0
jne 0x7ae74a
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
pop ecx
ret 4