Function at 0x7ae4f0
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 0x7ae507
cmp dl, 0x7a
jle 0x7ae512
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x7ae5c8
mov byte [esp + 0x18], dl
cmp dl, 0x80
jae 0x7ae520
movsx eax, dl
jmp 0x7ae52c
push dword [esp + 0x18]
call fcn.0075aea0
add esp, 4
lea edi, [ebp + 8]
push eax
mov ecx, edi
call fcn.00484080
lea esi, [ebx + 1]
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, 0x61
jl 0x7ae54c
cmp cl, 0x7a
jle 0x7ae569
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae569
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae569
cmp cl, 0x2b
je 0x7ae569
cmp cl, 0x2d
je 0x7ae569
cmp cl, 0x2e
jne 0x7ae597
mov byte [esp + 0x18], cl
cmp cl, 0x80
jae 0x7ae580
movsx eax, cl
mov ecx, edi
push eax
call fcn.00484080
inc esi
jmp 0x7ae540
push dword [esp + 0x18]
call fcn.0075aea0
add esp, 4
mov ecx, edi
push eax
call fcn.00484080
inc esi
jmp 0x7ae540
cmp cl, 0x3a
jne 0x7ae5b4
or dword [ebp + 0xec], 1
lea ebx, [esi + 1]
test ebx, ebx
jne 0x7ae5c8
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 0x7ae5c3
mov edi, dword [edi]
xor eax, eax
mov word [edi], ax
push ebx
mov ecx, ebp
call fcn.007ae7d0
test eax, eax
je 0x7ae5aa
push eax
mov ecx, ebp
call fcn.007aed50
mov esi, eax
test esi, esi
je 0x7ae5aa
cmp byte [esi], 0x3f
jne 0x7ae6d3
mov cl, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
test cl, cl
je 0x7ae6cc
nop dword [eax + eax]
cmp cl, 0x23
je 0x7ae6cc
cmp cl, 0x61
jl 0x7ae617
cmp cl, 0x7a
jle 0x7ae69a
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae69a
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae69a
cmp cl, 0x2d
je 0x7ae69a
cmp cl, 0x2e
je 0x7ae69a
cmp cl, 0x5f
je 0x7ae69a
cmp cl, 0x7e
je 0x7ae69a
cmp cl, 0x21
je 0x7ae69a
cmp cl, 0x24
je 0x7ae69a
cmp cl, 0x26
je 0x7ae69a
cmp cl, 0x27
je 0x7ae69a
cmp cl, 0x28
je 0x7ae69a
cmp cl, 0x29
je 0x7ae69a
cmp cl, 0x2a
je 0x7ae69a
cmp cl, 0x2b
je 0x7ae69a
cmp cl, 0x2c
je 0x7ae69a
cmp cl, 0x3b
je 0x7ae69a
cmp cl, 0x3d
je 0x7ae69a
cmp cl, 0x3a
je 0x7ae69a
cmp cl, 0x40
je 0x7ae69a
cmp cl, 0x2f
je 0x7ae69a
cmp cl, 0x3f
je 0x7ae69a
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.007ae310
mov esi, dword [esp + 0x18]
jmp 0x7ae6c2
inc esi
mov byte [esp + 0x10], cl
mov dword [esp + 0x18], esi
cmp cl, 0x80
jae 0x7ae6ad
movsx eax, cl
jmp 0x7ae6b9
push dword [esp + 0x10]
call fcn.0075aea0
add esp, 4
push eax
lea ecx, [ebp + 0x48]
call fcn.00484080
mov cl, byte [esi]
test cl, cl
jne 0x7ae600
or dword [ebp + 0xec], 0x20
cmp byte [esi], 0x23
jne 0x7ae7b6
mov cl, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
test cl, cl
je 0x7ae7af
lea edi, [ebp + 0x68]
nop
cmp cl, 0x61
jl 0x7ae6fe
cmp cl, 0x7a
jle 0x7ae77e
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x7ae77e
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x7ae77e
cmp cl, 0x2d
je 0x7ae77e
cmp cl, 0x2e
je 0x7ae77e
cmp cl, 0x5f
je 0x7ae77e
cmp cl, 0x7e
je 0x7ae77e
cmp cl, 0x21
je 0x7ae77e
cmp cl, 0x24
je 0x7ae77e
cmp cl, 0x26
je 0x7ae77e
cmp cl, 0x27
je 0x7ae77e
cmp cl, 0x28
je 0x7ae77e
cmp cl, 0x29
je 0x7ae77e
cmp cl, 0x2a
je 0x7ae77e
cmp cl, 0x2b
je 0x7ae77e
cmp cl, 0x2c
je 0x7ae77e
cmp cl, 0x3b
je 0x7ae77e
cmp cl, 0x3d
je 0x7ae77e
cmp cl, 0x3a
je 0x7ae77e
cmp cl, 0x40
je 0x7ae77e
cmp cl, 0x2f
je 0x7ae77e
cmp cl, 0x3f
je 0x7ae77e
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
push edi
call fcn.007ae310
mov esi, dword [esp + 0x18]
jmp 0x7ae7a5
inc esi
mov byte [esp + 0x10], cl
mov dword [esp + 0x18], esi
cmp cl, 0x80
jae 0x7ae791
movsx eax, cl
jmp 0x7ae79d
push dword [esp + 0x10]
call fcn.0075aea0
add esp, 4
push eax
mov ecx, edi
call fcn.00484080
mov cl, byte [esi]
test cl, cl
jne 0x7ae6f0
or dword [ebp + 0xec], 0x40
cmp byte [esi], 0
jne 0x7ae5aa
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
pop ecx
ret 4