Function at 0x46aeb3
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov esi, eax
mov edx, dword [eax + 4]
mov al, byte [edx]
cmp al, 0x2e
jne 0x46aef2
mov edx, dword [esi + 0x1c]
test edx, edx
jne 0x46aedb
mov dl, 6
mov eax, esi
call fcn.00467bd0
mov dword [esi + 0x1c], eax
jmp 0x46b08f
cmp dword [edx + 4], 3
jne 0x46b08f
push 0
push 0
push 0
push 6
jmp 0x46b082
cmp al, 0x5c
je 0x46af04
mov edx, str.Escaped_sequence:_expecting__
mov dword [esi + 8], 0x5aa
jmp 0x46af78
lea eax, [edx + 1]
mov dword [esi + 4], eax
movzx ebx, byte [edx + 1]
cmp ebx, 0x70
jne 0x46af2e
lea eax, [edx + 2]
mov dword [esi + 4], eax
cmp byte [edx + 2], 0x7b
jne 0x46af3f
lea eax, [edx + 3]
mov dword [esi + 4], eax
mov eax, esi
call fcn.0046aa79
jmp 0x46af64
cmp ebx, 0x50
jne 0x46af8e
lea eax, [edx + 2]
mov dword [esi + 4], eax
cmp byte [edx + 2], 0x7b
je 0x46af4d
mov edx, 0x5f3462
mov dword [esi + 8], 0x5aa
jmp 0x46af78
lea eax, [edx + 3]
mov dword [esi + 4], eax
mov eax, esi
call fcn.0046aa79
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x1c], 1
mov eax, dword [esi + 4]
cmp byte [eax], 0x7d
je 0x46af85
mov dword [esi + 8], 0x5aa
mov edx, str.Expecting_
lea esp, [ebp - 8]
mov eax, esi
pop ebx
pop esi
pop ebp
jmp fcn.00467a5b
inc eax
mov dword [esi + 4], eax
jmp 0x46b1a9
cmp ebx, 0x6e
sete dl
cmp ebx, 0x72
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x74
sete dl
cmp ebx, 0x5c
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x7c
sete dl
cmp ebx, 0x2e
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x3f
sete dl
cmp ebx, 0x2a
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x2b
sete dl
cmp ebx, 0x28
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x29
sete dl
cmp ebx, 0x7b
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x7d
sete dl
cmp ebx, 0x2d
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x5b
sete dl
cmp ebx, 0x5d
sete al
or eax, edx
test al, 1
jne 0x46b027
cmp ebx, 0x5e
jne 0x46b097
mov edx, dword [esi + 0x1c]
test edx, edx
jne 0x46b076
mov dl, 2
mov eax, esi
call fcn.00467bd0
test eax, eax
mov dword [esi + 0x1c], eax
je 0x46b08f
cmp ebx, 0x72
je 0x46b05c
jg 0x46b04c
cmp ebx, 0x6e
je 0x46b053
jmp 0x46b06e
cmp ebx, 0x74
je 0x46b065
jmp 0x46b06e
mov dword [eax + 0x20], 0xa
jmp 0x46b08f
mov dword [eax + 0x20], 0xd
jmp 0x46b08f
mov dword [eax + 0x20], 9
jmp 0x46b08f
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x20], ebx
jmp 0x46b08f
cmp dword [edx + 4], 3
jne 0x46b08f
push 0
push ebx
push ebx
push 2
push dword [esi + 0xc]
mov eax, esi
call fcn.00467f20
add esp, 0x14
inc dword [esi + 4]
jmp 0x46b1a9
cmp ebx, 0x73
sete dl
cmp ebx, 0x53
sete al
or eax, edx
test al, 1
jne 0x46b0f5
cmp ebx, 0x69
sete dl
cmp ebx, 0x49
sete al
or eax, edx
test al, 1
jne 0x46b0f5
cmp ebx, 0x63
sete dl
cmp ebx, 0x43
sete al
or eax, edx
test al, 1
jne 0x46b0f5
cmp ebx, 0x64
sete dl
cmp ebx, 0x44
sete al
or eax, edx
test al, 1
jne 0x46b0f5
cmp ebx, 0x77
sete dl
cmp ebx, 0x57
sete al
or eax, edx
test al, 1
je 0x46b1a9
mov eax, 7
cmp ebx, 0x57
je 0x46b172
jg 0x46b11b
cmp ebx, 0x44
je 0x46b164
jg 0x46b10f
cmp ebx, 0x43
je 0x46b156
jmp 0x46b177
cmp ebx, 0x49
je 0x46b148
cmp ebx, 0x53
je 0x46b13a
jmp 0x46b177
cmp ebx, 0x69
je 0x46b141
jg 0x46b12e
cmp ebx, 0x63
je 0x46b14f
cmp ebx, 0x64
je 0x46b15d
jmp 0x46b177
cmp ebx, 0x73
je 0x46b177
cmp ebx, 0x77
je 0x46b16b
jmp 0x46b177
mov eax, 8
jmp 0x46b177
mov eax, 9
jmp 0x46b177
mov eax, 0xa
jmp 0x46b177
mov eax, 0xb
jmp 0x46b177
mov eax, 0xc
jmp 0x46b177
mov eax, 0xd
jmp 0x46b177
mov eax, 0xe
jmp 0x46b177
mov eax, 0xf
jmp 0x46b177
mov eax, 0x10
mov edx, dword [esi + 0x1c]
inc dword [esi + 4]
test edx, edx
jne 0x46b18f
mov edx, eax
mov eax, esi
call fcn.00467bd0
mov dword [esi + 0x1c], eax
jmp 0x46b1a9
cmp dword [edx + 4], 3
jne 0x46b1a9
push 0
push 0
push 0
push eax
push dword [esi + 0xc]
mov eax, esi
call fcn.00467f20
add esp, 0x14
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret