Function at 0x474c6b
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, dword [esp + 0xc]
test ebp, ebp
jne 0x474c79
or eax, 0xffffffff
pop ebp
ret
push ebx
push esi
mov esi, dword [ebp]
mov bl, 0x61
mov al, byte [esi]
cmp al, bl
jl 0x474c8e
cmp al, 0x7a
jle 0x474d2e
cmp al, 0x41
jl 0x474c9a
cmp al, 0x5a
jle 0x474d2e
cmp al, 0x30
jl 0x474ca6
cmp al, 0x39
jle 0x474d2e
cmp al, 0x2d
je 0x474d2e
cmp al, 0x5f
je 0x474d2e
cmp al, 0x2e
je 0x474d2e
cmp al, 0x21
je 0x474d2e
cmp al, 0x7e
je 0x474d2e
cmp al, 0x2a
je 0x474d2e
cmp al, 0x27
je 0x474d2e
cmp al, 0x28
je 0x474d2e
cmp al, 0x29
je 0x474d2e
cmp al, 0x25
jne 0x474d12
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x474cdf
cmp cl, 0x39
jle 0x474cf2
cmp cl, bl
jl 0x474ce8
cmp cl, 0x66
jle 0x474cf2
cmp cl, 0x41
jl 0x474d12
cmp cl, 0x46
jg 0x474d12
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x474cff
cmp cl, 0x39
jle 0x474d2e
cmp cl, bl
jl 0x474d08
cmp cl, 0x66
jle 0x474d2e
cmp cl, 0x41
jl 0x474d12
cmp cl, 0x46
jle 0x474d2e
cmp al, 0x3b
je 0x474d2e
cmp al, 0x3a
je 0x474d2e
cmp al, 0x26
je 0x474d2e
cmp al, 0x3d
je 0x474d2e
cmp al, 0x2b
je 0x474d2e
cmp al, 0x24
je 0x474d2e
cmp al, 0x2c
jne 0x474d40
cmp al, 0x25
jne 0x474d3a
add esi, 3
jmp 0x474c80
inc esi
jmp 0x474c80
cmp byte [esi], 0x40
push edi
mov edi, dword [esp + 0x14]
jne 0x474d76
test edi, edi
je 0x474d73
mov eax, dword [edi + 0x10]
test eax, eax
je 0x474d5d
push eax
call dword [0x4e2438]
pop ecx
mov eax, dword [ebp]
mov ecx, esi
push 0
sub ecx, eax
push ecx
push eax
call fcn.00474696
add esp, 0xc
mov dword [edi + 0x10], eax
inc esi
jmp 0x474d90
test edi, edi
je 0x474d8d
mov eax, dword [edi + 0x10]
test eax, eax
je 0x474d89
push eax
call dword [0x4e2438]
pop ecx
and dword [edi + 0x10], 0
mov esi, dword [ebp]
mov al, byte [esi]
cmp al, 0x30
mov ebp, esi
jl 0x474e04
cmp al, 0x39
jg 0x474e04
cmp al, 0x39
jg 0x474da7
inc esi
mov al, byte [esi]
cmp al, 0x30
jge 0x474d9c
mov al, byte [esi]
cmp al, 0x2e
jne 0x474e04
inc esi
mov al, byte [esi]
cmp al, 0x30
jl 0x474e04
cmp al, 0x39
jg 0x474e04
cmp al, 0x39
jg 0x474dc3
inc esi
mov al, byte [esi]
cmp al, 0x30
jge 0x474db8
mov al, byte [esi]
cmp al, 0x2e
jne 0x474e04
inc esi
mov al, byte [esi]
cmp al, 0x30
jl 0x474e04
cmp al, 0x39
jg 0x474e04
cmp al, 0x39
jg 0x474ddf
inc esi
mov al, byte [esi]
cmp al, 0x30
jge 0x474dd4
mov al, byte [esi]
cmp al, 0x2e
jne 0x474e04
inc esi
mov al, byte [esi]
cmp al, 0x30
jl 0x474e04
cmp al, 0x39
jg 0x474e04
cmp al, 0x39
jg 0x474ea6
inc esi
mov al, byte [esi]
cmp al, 0x30
jge 0x474df0
jmp 0x474ea6
cmp al, bl
jl 0x474e0c
cmp al, 0x7a
jle 0x474e24
cmp al, 0x41
jl 0x474e14
cmp al, 0x5a
jle 0x474e24
cmp al, 0x30
jl 0x474f26
cmp al, 0x39
jg 0x474f26
mov al, byte [esi]
cmp al, bl
jl 0x474e2e
cmp al, 0x7a
jle 0x474e3e
cmp al, 0x41
jl 0x474e36
cmp al, 0x5a
jle 0x474e3e
cmp al, 0x30
jl 0x474e67
cmp al, 0x39
jg 0x474e67
mov al, byte [esi]
cmp al, bl
jl 0x474e48
cmp al, 0x7a
jle 0x474e5c
cmp al, 0x41
jl 0x474e50
cmp al, 0x5a
jle 0x474e5c
cmp al, 0x30
jl 0x474e58
cmp al, 0x39
jle 0x474e5c
cmp al, 0x2d
jne 0x474e5f
inc esi
jmp 0x474e3e
cmp byte [esi], 0x2e
jne 0x474e24
inc esi
jmp 0x474e24
lea ecx, [esi - 1]
mov al, byte [ecx]
cmp al, bl
jl 0x474e74
cmp al, 0x7a
jle 0x474e84
cmp al, 0x41
jl 0x474e7c
cmp al, 0x5a
jle 0x474e84
cmp al, 0x30
jl 0x474e8f
cmp al, 0x39
jg 0x474e8f
cmp al, 0x2e
je 0x474e8f
cmp ecx, ebp
jb 0x474e8f
dec ecx
jmp 0x474e6a
mov al, byte [ecx + 1]
cmp al, bl
jl 0x474e9a
cmp al, 0x7a
jle 0x474ea6
cmp al, 0x41
jl 0x474f22
cmp al, 0x5a
jg 0x474f22
test edi, edi
je 0x474edf
mov eax, dword [edi + 8]
test eax, eax
je 0x474eb9
push eax
call dword [0x4e2438]
pop ecx
mov eax, dword [edi + 0xc]
and dword [edi + 8], 0
test eax, eax
je 0x474ecc
push eax
call dword [0x4e2438]
pop ecx
mov eax, esi
push 0
sub eax, ebp
push eax
push ebp
call fcn.00474696
mov dword [edi + 0xc], eax
add esp, 0xc
cmp byte [esi], 0x3a
jne 0x474f18
inc esi
mov al, byte [esi]
cmp al, 0x30
jl 0x474f18
cmp al, 0x39
jg 0x474f18
test edi, edi
je 0x474f12
and dword [edi + 0x14], 0
jmp 0x474f12
cmp al, 0x39
jg 0x474f18
test edi, edi
je 0x474f11
mov ecx, dword [edi + 0x14]
imul ecx, ecx, 0xa
movsx eax, al
lea eax, [ecx + eax - 0x30]
mov dword [edi + 0x14], eax
inc esi
mov al, byte [esi]
cmp al, 0x30
jge 0x474ef9
mov eax, dword [esp + 0x18]
mov dword [eax], esi
xor eax, eax
jmp 0x474f29
push 7
jmp 0x474f28
push 6
pop eax
pop edi
pop esi
pop ebx
pop ebp
ret