Function at 0x28ae08fa
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov edi, eax
mov eax, dword [edi + 4]
mov cl, byte [eax]
cmp cl, 0x2e
jne 0x28ae093f
mov esi, dword [edi + 0x1c]
test esi, esi
jne 0x28ae091e
push 6
push edi
call fcn.28add461
pop ecx
pop ecx
mov dword [edi + 0x1c], eax
jmp 0x28ae0937
cmp dword [esi + 4], 3
jne 0x28ae0937
push 0
push 0
push 0
push 6
push dword [edi + 0xc]
call fcn.28add6ad
add esp, 0x14
inc dword [edi + 4]
jmp 0x28ae0bbf
cmp cl, 0x5c
je 0x28ae095d
push str.Escaped_sequence:_expecting__
mov ecx, edi
mov dword [edi + 8], 0x5aa
call fcn.28adcdee
pop ecx
jmp 0x28ae0bbf
lea ecx, [eax + 1]
push ebx
mov dword [edi + 4], ecx
movzx ebx, byte [ecx]
cmp ebx, 0x70
jne 0x28ae09a6
lea eax, [ecx + 1]
mov dword [edi + 4], eax
cmp byte [eax], 0x7b
je 0x28ae0990
push str.Expecting_
mov ecx, edi
mov dword [edi + 8], 0x5aa
call fcn.28adcdee
pop ecx
jmp 0x28ae0bbe
inc eax
mov dword [edi + 4], eax
mov eax, edi
call fcn.28ae0620
jmp 0x28ae09cb
inc eax
mov dword [edi + 4], eax
jmp 0x28ae0bbe
cmp ebx, 0x50
jne 0x28ae09da
lea eax, [ecx + 1]
mov dword [edi + 4], eax
cmp byte [eax], 0x7b
jne 0x28ae0977
inc eax
mov dword [edi + 4], eax
mov eax, edi
call fcn.28ae0620
mov eax, dword [edi + 0x1c]
mov dword [eax + 0x1c], 1
mov eax, dword [edi + 4]
cmp byte [eax], 0x7d
je 0x28ae099d
push 0x28b69ab0
jmp 0x28ae097c
cmp ebx, 0x6e
je 0x28ae0b41
cmp ebx, 0x72
je 0x28ae0b41
cmp ebx, 0x74
je 0x28ae0b41
cmp ebx, 0x5c
je 0x28ae0b41
cmp ebx, 0x7c
je 0x28ae0b41
cmp ebx, 0x2e
je 0x28ae0b41
cmp ebx, 0x3f
je 0x28ae0b41
cmp ebx, 0x2a
je 0x28ae0b41
cmp ebx, 0x2b
je 0x28ae0b41
cmp ebx, 0x28
je 0x28ae0b41
cmp ebx, 0x29
je 0x28ae0b41
cmp ebx, 0x7b
je 0x28ae0b41
cmp ebx, 0x7d
je 0x28ae0b41
cmp ebx, 0x2d
je 0x28ae0b41
cmp ebx, 0x5b
je 0x28ae0b41
cmp ebx, 0x5d
je 0x28ae0b41
cmp ebx, 0x5e
je 0x28ae0b41
cmp ebx, 0x73
je 0x28ae0aaf
cmp ebx, 0x53
je 0x28ae0aaf
cmp ebx, 0x69
je 0x28ae0aaf
cmp ebx, 0x49
je 0x28ae0aaf
cmp ebx, 0x63
je 0x28ae0aaf
cmp ebx, 0x43
je 0x28ae0aaf
cmp ebx, 0x64
je 0x28ae0aaf
cmp ebx, 0x44
je 0x28ae0aaf
cmp ebx, 0x77
je 0x28ae0aaf
cmp ebx, 0x57
je 0x28ae0aaf
push str.Wrong_escape_sequence__misuse_of_character_
jmp 0x28ae097c
cmp ebx, 0x63
push 7
pop eax
jg 0x28ae0ae8
je 0x28ae0ae4
sub ebx, 0x43
je 0x28ae0ae0
dec ebx
je 0x28ae0adc
sub ebx, 5
je 0x28ae0ad8
sub ebx, 0xa
je 0x28ae0ad4
sub ebx, 4
jne 0x28ae0b07
push 0x10
jmp 0x28ae0b06
push 8
jmp 0x28ae0b06
push 0xa
jmp 0x28ae0b06
push 0xe
jmp 0x28ae0b06
push 0xc
jmp 0x28ae0b06
push 0xb
jmp 0x28ae0b06
cmp ebx, 0x64
je 0x28ae0b04
cmp ebx, 0x69
je 0x28ae0b00
cmp ebx, 0x73
je 0x28ae0b07
cmp ebx, 0x77
jne 0x28ae0b07
push 0xf
jmp 0x28ae0b06
push 9
jmp 0x28ae0b06
push 0xd
pop eax
mov esi, dword [edi + 0x1c]
inc ecx
test esi, esi
mov dword [edi + 4], ecx
jne 0x28ae0b23
push eax
push edi
call fcn.28add461
pop ecx
pop ecx
mov dword [edi + 0x1c], eax
jmp 0x28ae0bbe
cmp dword [esi + 4], 3
jne 0x28ae0bbe
push 0
push 0
push 0
push eax
push dword [edi + 0xc]
call fcn.28add6ad
add esp, 0x14
jmp 0x28ae0bbe
mov esi, dword [edi + 0x1c]
test esi, esi
jne 0x28ae0b89
push 2
push edi
call fcn.28add461
test eax, eax
pop ecx
pop ecx
mov dword [edi + 0x1c], eax
je 0x28ae0bbb
mov ecx, ebx
sub ecx, 0x6e
je 0x28ae0b80
sub ecx, 4
je 0x28ae0b77
dec ecx
dec ecx
je 0x28ae0b6e
mov dword [eax + 0x20], ebx
jmp 0x28ae0bbb
mov dword [eax + 0x20], 9
jmp 0x28ae0bbb
mov dword [eax + 0x20], 0xd
jmp 0x28ae0bbb
mov dword [eax + 0x20], 0xa
jmp 0x28ae0bbb
cmp dword [esi + 4], 3
jne 0x28ae0bbb
mov eax, ebx
sub eax, 0x6e
je 0x28ae0ba7
sub eax, 4
je 0x28ae0ba3
dec eax
dec eax
jne 0x28ae0baa
push 9
jmp 0x28ae0ba9
push 0xd
jmp 0x28ae0ba9
push 0xa
pop ebx
push 0
push ebx
push ebx
push 2
push dword [edi + 0xc]
call fcn.28add6ad
add esp, 0x14
inc dword [edi + 4]
pop ebx
pop edi
pop esi
ret