Function at 0x468ee0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, esi
call fcn.00468ce0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
add ecx, eax
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], eax
mov dword [esi + 0x120], ecx
cmp eax, ecx
jae 0x4691fa
jmp 0x468f20
mov eax, dword [esi + 0x11c]
cmp byte [eax], 0x3c
jne 0x469194
lea edx, [ebp - 8]
xor edi, edi
push edx
mov eax, esi
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
call fcn.00468910
add esp, 4
cmp eax, 0x43
je 0x4691e8
cmp eax, 0x44
jne 0x468f6d
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
add eax, 9
sub edx, 3
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
sub edx, eax
push eax
jmp 0x4691de
lea eax, [ebp - 8]
push eax
mov eax, esi
call fcn.00468910
add esp, 4
cmp eax, 0x2f
jne 0x468fc7
lea ecx, [ebp - 8]
push ecx
mov eax, esi
call fcn.00468910
add esp, 4
cmp eax, 0x49
jne 0x469223
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
sub eax, edx
push eax
mov ecx, esi
call fcn.00468db0
add esp, 4
test eax, eax
jne 0x46923b
lea ecx, [ebp - 8]
push ecx
mov eax, esi
call fcn.00468910
add esp, 4
mov edi, eax
jmp 0x46917d
cmp eax, 0x21
jne 0x468fe0
lea edx, [ebp - 8]
push edx
mov eax, esi
call fcn.00468910
mov dword [ebp + 8], 1
jmp 0x468ff7
cmp eax, 0x3f
jne 0x468ffa
lea eax, [ebp - 8]
push eax
mov eax, esi
call fcn.00468910
mov dword [ebp + 0xc], 1
add esp, 4
cmp eax, 0x49
jne 0x469263
mov ebx, dword [ebp - 8]
mov dword [esi + 4], edi
mov edi, dword [ebp - 4]
sub edi, ebx
mov eax, esi
call fcn.00468cf0
test eax, eax
jne 0x46923b
lea ecx, [ecx]
lea ecx, [ebp - 8]
push ecx
mov eax, esi
call fcn.00468910
mov edi, eax
add esp, 4
cmp edi, 0x49
je 0x469048
cmp edi, 0x53
jne 0x469101
cmp dword [ebp + 8], 0
je 0x46912c
lea edx, [ebp - 0x10]
push edx
mov eax, esi
call fcn.00468910
mov edi, eax
add esp, 4
cmp edi, 0x3d
jne 0x4690d3
lea eax, [ebp - 0x10]
push eax
mov eax, esi
call fcn.00468910
add esp, 4
cmp eax, 0x49
je 0x469079
cmp eax, 0x53
jne 0x469247
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 4]
sub edi, ebx
mov eax, esi
mov dword [esi + 4], 1
call fcn.00468cf0
test eax, eax
jne 0x46923b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
sub edx, eax
push eax
mov ecx, esi
call fcn.00468c20
add esp, 4
test eax, eax
jne 0x46923b
push edi
mov edx, ebx
mov ecx, esi
call fcn.00468db0
add esp, 4
test eax, eax
je 0x469020
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x49
jne 0x4690f0
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 4]
sub edi, ebx
mov eax, esi
mov dword [esi + 4], 1
call fcn.00468cf0
jmp 0x4690aa
cmp edi, 0x53
jne 0x469101
cmp dword [ebp + 8], 0
jne 0x469020
jmp 0x46912c
cmp edi, 0x2f
jne 0x46912c
push 0
xor edx, edx
mov ecx, esi
call fcn.00468db0
add esp, 4
test eax, eax
jne 0x46923b
lea ecx, [ebp - 8]
push ecx
mov eax, esi
call fcn.00468910
add esp, 4
mov edi, eax
cmp dword [ebp + 0xc], 0
je 0x469161
cmp edi, 0x3f
jne 0x469254
push 0
xor edx, edx
mov ecx, esi
call fcn.00468db0
add esp, 4
test eax, eax
jne 0x46923b
lea edx, [ebp - 8]
push edx
mov eax, esi
call fcn.00468910
add esp, 4
mov edi, eax
cmp dword [ebp + 8], 0
je 0x46917d
push 0
xor edx, edx
mov ecx, esi
call fcn.00468db0
add esp, 4
test eax, eax
jne 0x46923b
cmp edi, 0x3e
je 0x4691e8
mov eax, edi
call fcn.00468780
push eax
push str._s_unexpected____wanted_
jmp 0x46922e
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, dword [esi + 0x120]
jae 0x4691bb
mov eax, dword [esi + 0x11c]
cmp byte [eax], 0x3c
je 0x4691bb
inc eax
mov dword [esi + 0x11c], eax
cmp eax, dword [esi + 0x120]
jb 0x4691a1
test byte [esi], 2
mov edx, dword [esi + 0x11c]
mov dword [ebp - 4], edx
jne 0x4691d7
lea eax, [ebp - 8]
call fcn.00468850
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
cmp ecx, edx
je 0x4691e8
sub edx, ecx
push ecx
mov ecx, esi
call fcn.00468c20
add esp, 4
mov ecx, dword [esi + 0x11c]
cmp ecx, dword [esi + 0x120]
jb 0x468f20
mov edx, dword [esi + 0x110]
cmp byte [edx], 0
je 0x469270
push str.unexpected_END_OF_INPUT
add esi, 8
push esi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00468780
push eax
push str._s_unexpected__ident_wanted_
add esi, 8
push esi
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00468780
push eax
push str._s_unexpected__ident_or_string_wanted_
jmp 0x46922e
mov eax, edi
call fcn.00468780
push eax
push 0x4c5a74
jmp 0x46922e
call fcn.00468780
push eax
push str._s_unexpected__ident_or___wanted_
jmp 0x46922e
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret