Function at 0x460ecf
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x46101a
je 0x461006
cmp ecx, 0x26
jg 0x460f89
je 0x460f81
cmp ecx, 0x21
jg 0x460f5f
je 0x460f47
cmp ecx, 9
jl 0x461051
cmp ecx, 0xa
jle 0x460f24
cmp ecx, 0xb
jle 0x461051
cmp ecx, 0xd
jle 0x460f24
cmp ecx, 0x20
jne 0x461051
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x460f34
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x4d6940], cl
jne 0x460f2f
mov dword [esi], 0x97
jmp 0x4613b2
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x4613ac
mov dword [esi], 0x4e
jmp 0x4613b2
mov eax, ecx
sub eax, 0x22
je 0x461290
dec eax
je 0x46137f
dec eax
dec eax
jne 0x461051
mov dword [esi], 0x5d
jmp 0x460fd6
mov dword [esi], 0x55
jmp 0x460fd6
mov eax, ecx
sub eax, 0x27
je 0x461290
dec eax
je 0x460ffe
dec eax
je 0x460ff6
dec eax
je 0x460fee
dec eax
je 0x460fe6
dec eax
je 0x460fde
dec eax
jne 0x461051
cmp byte [ebx + 1], 0x2d
jne 0x460fd0
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x460fc7
cmp ecx, 0xa
je 0x460f3c
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x460fb9
jmp 0x460f3c
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x4613b2
mov dword [esi], 0x1a
jmp 0x460fd6
mov dword [esi], 0x59
jmp 0x460fd6
mov dword [esi], 0x5b
jmp 0x460fd6
mov dword [esi], 0x17
jmp 0x460fd6
mov dword [esi], 0x16
jmp 0x460fd6
movzx eax, byte [ebx + 1]
test byte [eax + 0x4d6940], dl
jne 0x461066
mov dword [esi], 0x7a
jmp 0x460fd6
cmp ecx, 0x3f
jg 0x461231
je 0x46120e
cmp ecx, 0x3b
jg 0x461183
je 0x461177
cmp ecx, 0x2f
je 0x461139
jle 0x461051
cmp ecx, 0x39
jle 0x461066
cmp ecx, 0x3a
je 0x46137f
test byte [ecx + 0x4d6940], 0x46
jne 0x46135d
xor eax, eax
inc eax
jmp 0x4613ac
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x4610a7
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x46107e
cmp al, 0x58
jne 0x4610a7
movzx eax, byte [ebx + 2]
test byte [eax + 0x4d6940], 8
je 0x4610a7
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x461099
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], 8
jne 0x461094
jmp 0x4613b2
xor eax, eax
movzx ecx, cl
jmp 0x4610b3
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], dl
jne 0x4610ae
cmp byte [eax + ebx], 0x2e
jne 0x4610d4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], dl
jne 0x4610c1
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x4610e1
cmp cl, 0x45
jne 0x461127
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4d6940], dl
jne 0x461107
cmp cl, 0x2b
je 0x4610fa
cmp cl, 0x2d
jne 0x461127
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4d6940], dl
je 0x461127
inc eax
inc eax
jmp 0x46110c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], dl
jne 0x46110b
mov dword [esi], 0x85
jmp 0x461127
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], 0x46
jne 0x461120
jmp 0x4613b2
cmp byte [ebx + 1], 0x2a
jne 0x46116c
mov cl, byte [ebx + 2]
test cl, cl
je 0x46116c
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x461157
cmp byte [eax + ebx], 0x2f
je 0x461166
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x460f3c
inc eax
jmp 0x46114c
inc eax
jmp 0x460f3c
mov dword [esi], 0x5c
jmp 0x460fd6
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x4613b2
mov eax, ecx
sub eax, 0x3c
je 0x4611d2
dec eax
je 0x4611bd
dec eax
jne 0x461051
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4611a5
mov dword [esi], 0x53
jmp 0x4611e1
cmp eax, 0x3e
jne 0x4611b2
mov dword [esi], 0x58
jmp 0x4611e1
mov dword [esi], 0x50
jmp 0x460fd6
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x4613b2
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4611e9
mov dword [esi], 0x51
push 2
pop eax
jmp 0x4613b2
cmp eax, 0x3e
jne 0x4611f6
mov dword [esi], 0x4e
jmp 0x4611e1
cmp eax, 0x3c
jne 0x461203
mov dword [esi], 0x57
jmp 0x4611e1
mov dword [esi], 0x52
jmp 0x460fd6
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x461224
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], dl
jne 0x46121f
jmp 0x4613b2
mov eax, ecx
sub eax, 0x40
je 0x46137f
sub eax, 0x18
je 0x4612ff
sub eax, 3
je 0x4612d3
sub eax, 5
je 0x461290
sub eax, 0x18
je 0x4612ff
sub eax, 4
je 0x461274
dec eax
dec eax
jne 0x461051
mov dword [esi], 0x60
jmp 0x460fd6
cmp byte [ebx + 1], 0x7c
je 0x461285
mov dword [esi], 0x56
jmp 0x460fd6
mov dword [esi], 0x5e
jmp 0x4611e1
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x4612ac
cmp edx, ecx
jne 0x4612a7
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x4612b0
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x461299
cmp edx, 0x27
jne 0x4612c0
mov dword [esi], 0x61
jmp 0x4611cc
test edx, edx
je 0x4613ac
mov dword [esi], 0x1b
jmp 0x4611cc
xor eax, eax
inc eax
jmp 0x4612e1
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4612e6
inc eax
cmp ecx, 0x5d
jne 0x4612d8
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x4613b2
cmp byte [ebx + 1], 0x27
jne 0x461051
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x46131d
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d6940], 8
jne 0x461318
cmp byte [eax + ebx], 0x27
jne 0x46133d
mov ecx, eax
and ecx, 0x80000001
jns 0x46133b
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x461352
mov dword [esi], 0x96
jmp 0x46134b
cmp cl, 0x27
je 0x461352
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x461345
cmp byte [eax + ebx], 0
je 0x4613b2
jmp 0x4611cc
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x46136b
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4d6940], 0x46
jne 0x461366
call fcn.00460e57
mov dword [esi], eax
mov eax, edi
jmp 0x4613b2
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x4613ac
movzx ecx, cl
test byte [ecx + 0x4d6940], 0x46
je 0x4613a8
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x461392
test edx, edx
jne 0x4613b2
mov dword [esi], 0x96
pop edi
pop ebx
ret