Function at 0x461c87
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 0x461dd2
je 0x461dbe
cmp ecx, 0x26
jg 0x461d41
je 0x461d39
cmp ecx, 0x21
jg 0x461d17
je 0x461cff
cmp ecx, 9
jl 0x461e09
cmp ecx, 0xa
jle 0x461cdc
cmp ecx, 0xb
jle 0x461e09
cmp ecx, 0xd
jle 0x461cdc
cmp ecx, 0x20
jne 0x461e09
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x461cec
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x4d7940], cl
jne 0x461ce7
mov dword [esi], 0x97
jmp 0x46216a
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x462164
mov dword [esi], 0x4e
jmp 0x46216a
mov eax, ecx
sub eax, 0x22
je 0x462048
dec eax
je 0x462137
dec eax
dec eax
jne 0x461e09
mov dword [esi], 0x5d
jmp 0x461d8e
mov dword [esi], 0x55
jmp 0x461d8e
mov eax, ecx
sub eax, 0x27
je 0x462048
dec eax
je 0x461db6
dec eax
je 0x461dae
dec eax
je 0x461da6
dec eax
je 0x461d9e
dec eax
je 0x461d96
dec eax
jne 0x461e09
cmp byte [ebx + 1], 0x2d
jne 0x461d88
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x461d7f
cmp ecx, 0xa
je 0x461cf4
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x461d71
jmp 0x461cf4
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x46216a
mov dword [esi], 0x1a
jmp 0x461d8e
mov dword [esi], 0x59
jmp 0x461d8e
mov dword [esi], 0x5b
jmp 0x461d8e
mov dword [esi], 0x17
jmp 0x461d8e
mov dword [esi], 0x16
jmp 0x461d8e
movzx eax, byte [ebx + 1]
test byte [eax + 0x4d7940], dl
jne 0x461e1e
mov dword [esi], 0x7a
jmp 0x461d8e
cmp ecx, 0x3f
jg 0x461fe9
je 0x461fc6
cmp ecx, 0x3b
jg 0x461f3b
je 0x461f2f
cmp ecx, 0x2f
je 0x461ef1
jle 0x461e09
cmp ecx, 0x39
jle 0x461e1e
cmp ecx, 0x3a
je 0x462137
test byte [ecx + 0x4d7940], 0x46
jne 0x462115
xor eax, eax
inc eax
jmp 0x462164
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x461e5f
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x461e36
cmp al, 0x58
jne 0x461e5f
movzx eax, byte [ebx + 2]
test byte [eax + 0x4d7940], 8
je 0x461e5f
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x461e51
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], 8
jne 0x461e4c
jmp 0x46216a
xor eax, eax
movzx ecx, cl
jmp 0x461e6b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], dl
jne 0x461e66
cmp byte [eax + ebx], 0x2e
jne 0x461e8c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], dl
jne 0x461e79
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x461e99
cmp cl, 0x45
jne 0x461edf
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4d7940], dl
jne 0x461ebf
cmp cl, 0x2b
je 0x461eb2
cmp cl, 0x2d
jne 0x461edf
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4d7940], dl
je 0x461edf
inc eax
inc eax
jmp 0x461ec4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], dl
jne 0x461ec3
mov dword [esi], 0x85
jmp 0x461edf
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], 0x46
jne 0x461ed8
jmp 0x46216a
cmp byte [ebx + 1], 0x2a
jne 0x461f24
mov cl, byte [ebx + 2]
test cl, cl
je 0x461f24
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x461f0f
cmp byte [eax + ebx], 0x2f
je 0x461f1e
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x461cf4
inc eax
jmp 0x461f04
inc eax
jmp 0x461cf4
mov dword [esi], 0x5c
jmp 0x461d8e
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x46216a
mov eax, ecx
sub eax, 0x3c
je 0x461f8a
dec eax
je 0x461f75
dec eax
jne 0x461e09
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x461f5d
mov dword [esi], 0x53
jmp 0x461f99
cmp eax, 0x3e
jne 0x461f6a
mov dword [esi], 0x58
jmp 0x461f99
mov dword [esi], 0x50
jmp 0x461d8e
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x46216a
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x461fa1
mov dword [esi], 0x51
push 2
pop eax
jmp 0x46216a
cmp eax, 0x3e
jne 0x461fae
mov dword [esi], 0x4e
jmp 0x461f99
cmp eax, 0x3c
jne 0x461fbb
mov dword [esi], 0x57
jmp 0x461f99
mov dword [esi], 0x52
jmp 0x461d8e
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x461fdc
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], dl
jne 0x461fd7
jmp 0x46216a
mov eax, ecx
sub eax, 0x40
je 0x462137
sub eax, 0x18
je 0x4620b7
sub eax, 3
je 0x46208b
sub eax, 5
je 0x462048
sub eax, 0x18
je 0x4620b7
sub eax, 4
je 0x46202c
dec eax
dec eax
jne 0x461e09
mov dword [esi], 0x60
jmp 0x461d8e
cmp byte [ebx + 1], 0x7c
je 0x46203d
mov dword [esi], 0x56
jmp 0x461d8e
mov dword [esi], 0x5e
jmp 0x461f99
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x462064
cmp edx, ecx
jne 0x46205f
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x462068
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x462051
cmp edx, 0x27
jne 0x462078
mov dword [esi], 0x61
jmp 0x461f84
test edx, edx
je 0x462164
mov dword [esi], 0x1b
jmp 0x461f84
xor eax, eax
inc eax
jmp 0x462099
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x46209e
inc eax
cmp ecx, 0x5d
jne 0x462090
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x46216a
cmp byte [ebx + 1], 0x27
jne 0x461e09
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x4620d5
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4d7940], 8
jne 0x4620d0
cmp byte [eax + ebx], 0x27
jne 0x4620f5
mov ecx, eax
and ecx, 0x80000001
jns 0x4620f3
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x46210a
mov dword [esi], 0x96
jmp 0x462103
cmp cl, 0x27
je 0x46210a
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x4620fd
cmp byte [eax + ebx], 0
je 0x46216a
jmp 0x461f84
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x462123
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4d7940], 0x46
jne 0x46211e
call fcn.00461c0f
mov dword [esi], eax
mov eax, edi
jmp 0x46216a
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x462164
movzx ecx, cl
test byte [ecx + 0x4d7940], 0x46
je 0x462160
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x46214a
test edx, edx
jne 0x46216a
mov dword [esi], 0x96
pop edi
pop ebx
ret