Function at 0x4657c4
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffc0
mov ebx, eax
mov byte [0x4c0d54], 0
cmp byte [0x4c0f7a], 0x21
jne 0x4657f8
dec ebx
jle 0x4657ee
mov eax, 0x466224
call fcn.0045faa0
jmp 0x46621c
call fcn.00463cb8
jmp 0x46621c
cmp byte [0x4c0f7a], 0x3f
jne 0x46580b
call fcn.0045fc8c
jmp 0x4661d6
mov al, byte [0x4c0f7a]
call fcn.0045fad4
test al, al
jne 0x465822
cmp byte [0x4c0f7a], 0x24
jne 0x46583e
cmp byte [0x4c0f7b], 0x3d
je 0x465834
cmp byte [0x4c0f7c], 0x3d
jne 0x46583e
call fcn.00463d04
jmp 0x4661d6
cmp byte [0x4c0f7a], 0x23
jne 0x465851
call fcn.00463d98
jmp 0x4661d6
cmp byte [0x4c0f7a], 0x3a
jne 0x465866
mov al, 0x3a
call fcn.00463edc
jmp 0x4661d6
cmp byte [0x4c0f7a], 0x5b
jne 0x465879
call fcn.00463d90
jmp 0x4661d6
mov eax, 0x46622c
call fcn.00464c48
test al, al
je 0x4658b1
mov eax, dword [0x4c0e5c]
add eax, 4
dec eax
mov dword [0x4c0e60], eax
xor edx, edx
mov dl, byte [0x4c0e74]
cmp eax, edx
jge 0x4661d6
add dword [0x4c0e5c], 4
jmp 0x4661d6
mov eax, 0x466234
call fcn.00464c48
test al, al
je 0x46594a
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
xor edx, edx
mov dl, byte [0x4c0e74]
cmp eax, edx
jge 0x4658e4
add dword [0x4c0e5c], 6
mov esi, dword [0x4c0e60]
mov edi, dword [0x4c0e5c]
call fcn.0045fbe0
cmp byte [0x4c0f78], 0x28
jne 0x465939
call fcn.0045fbe0
call fcn.00463a90
fstp st(0)
cmp byte [0x4c0d54], 0
jne 0x46621c
cmp byte [0x4c0f78], 0x29
je 0x46592f
mov eax, 0x46623c
call fcn.0045faa0
jmp 0x46621c
call fcn.0045fbe0
jmp 0x4661d6
mov dword [0x4c0e60], esi
mov dword [0x4c0e5c], edi
jmp 0x4661d6
mov eax, 0x466240
call fcn.00464c48
test al, al
je 0x465964
mov al, 0x67
call fcn.00463edc
jmp 0x4661d6
mov eax, 0x466248
call fcn.00464c48
test al, al
je 0x46597e
mov al, 0x63
call fcn.00463edc
jmp 0x4661d6
mov eax, 0x466250
call fcn.00464c48
test al, al
je 0x46599b
mov dword [0x4c0e60], 0xff
jmp 0x4661d6
cmp byte [0x4c0e74], 5
jb 0x465ab0
mov al, byte [0x4c0e75]
call fcn.00402aec
cmp al, 0x45
jne 0x465ab0
mov al, byte [0x4c0e76]
call fcn.00402aec
cmp al, 0x56
jne 0x465ab0
mov al, byte [0x4c0e77]
call fcn.00402aec
cmp al, 0x45
jne 0x465ab0
mov al, byte [0x4c0e78]
call fcn.00402aec
cmp al, 0x52
jne 0x465ab0
mov al, byte [0x4c0e79]
call fcn.00402aec
cmp al, 0x59
jne 0x465ab0
mov dword [0x4c0e60], 5
mov dword [0x4c0e5c], 5
call fcn.0045fbe0
call fcn.00463610
mov dword [esp], 0x59414403
mov esi, 0x466258
lea edi, [esp + 0x15]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, 0x466264
lea edi, [esp + 0x2a]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x14
lea ecx, [esp + 4]
mov eax, 0x4c0f8c
mov edx, 0x28
call fcn.004189a0
test al, al
jne 0x4661d6
push 0x14
lea ecx, [esp + 0x2e]
mov eax, 0x4c0f8c
mov edx, 0x28
call fcn.004189a0
test al, al
jne 0x4661d6
push 0x14
lea ecx, [esp + 0x19]
mov eax, 0x4c0f8c
mov edx, 0x28
call fcn.004189a0
test al, al
jne 0x4661d6
mov dword [0x4c0e5c], 6
mov eax, 0x46626c
call fcn.0045faa0
jmp 0x4661d6
cmp byte [0x4c0e74], 6
jb 0x465b1c
mov al, byte [0x4c0e75]
call fcn.00402aec
cmp al, 0x50
jne 0x465b1c
mov al, byte [0x4c0e76]
call fcn.00402aec
cmp al, 0x52
jne 0x465b1c
mov al, byte [0x4c0e77]
call fcn.00402aec
cmp al, 0x4f
jne 0x465b1c
mov al, byte [0x4c0e78]
call fcn.00402aec
cmp al, 0x4c
jne 0x465b1c
mov al, byte [0x4c0e79]
call fcn.00402aec
cmp al, 0x4f
jne 0x465b1c
mov al, byte [0x4c0e7a]
call fcn.00402aec
cmp al, 0x47
jne 0x465b1c
mov dword [0x4c0e60], 6
jmp 0x4661d6
cmp byte [0x4c0e74], 6
jb 0x465b88
mov al, byte [0x4c0e75]
call fcn.00402aec
cmp al, 0x45
jne 0x465b88
mov al, byte [0x4c0e76]
call fcn.00402aec
cmp al, 0x50
jne 0x465b88
mov al, byte [0x4c0e77]
call fcn.00402aec
cmp al, 0x49
jne 0x465b88
mov al, byte [0x4c0e78]
call fcn.00402aec
cmp al, 0x4c
jne 0x465b88
mov al, byte [0x4c0e79]
call fcn.00402aec
cmp al, 0x4f
jne 0x465b88
mov al, byte [0x4c0e7a]
call fcn.00402aec
cmp al, 0x47
jne 0x465b88
mov dword [0x4c0e60], 6
jmp 0x4661d6
mov eax, 0x466298
call fcn.00464c48
test al, al
je 0x465bae
mov eax, dword [0x4c0e5c]
add eax, 4
dec eax
mov dword [0x4c0e60], eax
call fcn.00463fa4
jmp 0x4661d6
mov eax, 0x4662a0
call fcn.00464c48
test al, al
je 0x465bd6
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
mov al, 0x53
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662a8
call fcn.00464c48
test al, al
je 0x465bfe
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
mov al, 0x4b
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662b0
call fcn.00464c48
test al, al
je 0x465c26
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
mov al, 0x54
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662b8
call fcn.00464c48
test al, al
je 0x465c4e
mov eax, dword [0x4c0e5c]
add eax, 4
dec eax
mov dword [0x4c0e60], eax
mov al, 0x4e
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662c0
call fcn.00464c48
test al, al
je 0x465c76
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
mov al, 0x65
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662c8
call fcn.00464c48
test al, al
je 0x465c9e
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
mov al, 0x6e
call fcn.004640e0
jmp 0x4661d6
mov eax, 0x4662d0
call fcn.00464c48
test al, al
je 0x465cc4
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
call fcn.004644a8
jmp 0x4661d6
mov eax, 0x4662d8
call fcn.00464c48
test al, al
je 0x465cea
mov eax, dword [0x4c0e5c]
add eax, 4
dec eax
mov dword [0x4c0e60], eax
call fcn.00464608
jmp 0x4661d6
mov eax, 0x4662e0
call fcn.00464c48
test al, al
je 0x465d10
mov eax, dword [0x4c0e5c]
add eax, 2
dec eax
mov dword [0x4c0e60], eax
call fcn.004647c8
jmp 0x4661d6
mov eax, 0x4662e4
call fcn.00464c48
test al, al
je 0x465dfa
mov edx, dword [0x4c0e5c]
add edx, 4
xor eax, eax
mov al, byte [0x4c0e74]
cmp edx, eax
jge 0x465d92
mov eax, dword [0x4c0e5c]
add eax, 5
mov al, byte [eax + 0x4c0e73]
call fcn.00402aec
cmp al, 0x49
jne 0x465da9
mov eax, dword [0x4c0e5c]
add eax, 6
mov al, byte [eax + 0x4c0e73]
call fcn.00402aec
cmp al, 0x46
jne 0x465da9
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
xor eax, eax
mov al, byte [0x4c0e74]
cmp eax, dword [0x4c0e60]
jle 0x465d88
add dword [0x4c0e5c], 6
call fcn.004647fc
jmp 0x4661d6
mov esi, edx
dec esi
cmp eax, esi
jne 0x465da9
mov dword [0x4c0e60], esi
call fcn.0046482c
jmp 0x4661d6
mov eax, dword [0x4c0e5c]
add eax, 5
mov al, byte [eax + 0x4c0e73]
call fcn.00402aec
cmp al, 0x20
jne 0x465deb
mov eax, dword [0x4c0e5c]
add eax, 4
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 4
call fcn.0046482c
mov eax, dword [0x4c0e5c]
mov byte [eax + 0x4c0e74], 0x3b
jmp 0x4661d6
mov eax, 0x4662ec
call fcn.0045faa0
jmp 0x46621c
mov eax, 0x466308
call fcn.00464c48
test al, al
je 0x465e27
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 5
call fcn.00464830
jmp 0x4661d6
mov eax, 0x466310
call fcn.00464c48
test al, al
je 0x465e4d
mov eax, dword [0x4c0e5c]
add eax, 3
dec eax
mov dword [0x4c0e60], eax
call fcn.00464834
jmp 0x4661d6
mov eax, 0x466314
call fcn.00464c48
test al, al
je 0x465e7a
mov eax, dword [0x4c0e5c]
add eax, 6
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 6
call fcn.00464900
jmp 0x4661d6
mov eax, 0x46631c
call fcn.00464c48
test al, al
je 0x465ea0
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
call fcn.00464780
jmp 0x4661d6
mov eax, 0x466324
call fcn.00464c48
test al, al
je 0x465ecd
mov eax, dword [0x4c0e5c]
add eax, 8
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 8
call fcn.004647c4
jmp 0x4661d6
mov eax, 0x466330
call fcn.00464c48
test al, al
je 0x465efa
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 5
call fcn.00464ccc
jmp 0x4661d6
mov eax, 0x466338
call fcn.00464c48
test al, al
je 0x465f1e
mov eax, dword [0x4c0e5c]
inc eax
dec eax
mov dword [0x4c0e60], eax
call fcn.00464904
jmp 0x4661d6
mov eax, 0x46633c
call fcn.00464c48
test al, al
je 0x465f4b
mov eax, dword [0x4c0e5c]
add eax, 8
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 8
call fcn.004649d0
jmp 0x4661d6
mov eax, 0x466348
call fcn.00464c48
test al, al
je 0x465f78
mov eax, dword [0x4c0e5c]
add eax, 5
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 5
call fcn.00464bf4
jmp 0x4661d6
mov eax, 0x466350
call fcn.00464c48
test al, al
je 0x465fa5
mov eax, dword [0x4c0e5c]
add eax, 0xa
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 0xa
call fcn.00464d34
jmp 0x4661d6
mov eax, 0x46635c
call fcn.00464c48
test al, al
je 0x465fd2
mov eax, dword [0x4c0e5c]
add eax, 0xa
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 0xa
call fcn.00464dc0
jmp 0x4661d6
mov eax, 0x466368
call fcn.00464c48
test al, al
je 0x465fff
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00464dd4
jmp 0x4661d6
mov eax, 0x466370
call fcn.00464c48
test al, al
je 0x46602c
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00464de8
jmp 0x4661d6
mov eax, 0x466378
call fcn.00464c48
test al, al
je 0x466059
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00464dfc
jmp 0x4661d6
mov eax, 0x466380
call fcn.00464c48
test al, al
je 0x466086
mov eax, dword [0x4c0e5c]
add eax, 0xe
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 0xe
call fcn.00464e10
jmp 0x4661d6
mov eax, 0x466390
call fcn.00464c48
test al, al
je 0x4660b3
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00464e54
jmp 0x4661d6
mov eax, 0x466398
call fcn.00464c48
test al, al
je 0x4660e0
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00464f34
jmp 0x4661d6
mov eax, 0x4663a0
call fcn.00464c48
test al, al
je 0x46610d
mov eax, dword [0x4c0e5c]
add eax, 8
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 8
call fcn.004650a4
jmp 0x4661d6
mov eax, 0x4663ac
call fcn.00464c48
test al, al
je 0x46613a
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.00465214
jmp 0x4661d6
mov eax, 0x4663b4
call fcn.00464c48
test al, al
je 0x466164
mov eax, dword [0x4c0e5c]
add eax, 9
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 9
call fcn.00465384
jmp 0x4661d6
mov eax, 0x4663c0
call fcn.00464c48
test al, al
je 0x46618e
mov eax, dword [0x4c0e5c]
add eax, 7
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 7
call fcn.004654b0
jmp 0x4661d6
mov eax, 0x4663c8
call fcn.00464c48
test al, al
je 0x4661b8
mov eax, dword [0x4c0e5c]
add eax, 8
dec eax
mov dword [0x4c0e60], eax
add dword [0x4c0e5c], 8
call fcn.00465698
jmp 0x4661d6
cmp byte [0x4c0e74], 0
je 0x4661ca
cmp byte [0x4c0e75], 0x2a
je 0x46621c
dec ebx
jne 0x46621c
mov byte [0x4c0e58], 1
jmp 0x46621c
cmp byte [0x4c0d54], 0
jne 0x46621c
mov eax, dword [0x4c0e5c]
cmp byte [eax + 0x4c0e74], 0x3b
jne 0x46621c
mov edx, dword [0x4c0e5c]
test edx, edx
jle 0x466203
mov eax, 0x4c0e75
mov byte [eax], 0x20
inc eax
dec edx
jne 0x4661fc
mov eax, 0x4c0e74
call fcn.0045fb04
test al, al
jne 0x46621c
call fcn.0045fbec
inc ebx
jmp 0x4657cc
add esp, 0x40
pop edi
pop esi
pop ebx
ret