Function at 0x47a780
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x47abe7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x47abe7
cmp eax, 0x29
jne 0x47a7c0
cmp dword [esi + 0x10], 0
jne 0x47abe7
test dword [esi + 0x50], 0x10000000
je 0x47abf4
jmp 0x47ab80
cmp eax, 0x2e
jne 0x47a813
push 5
lea ecx, [esi + 0x24]
call fcn.0047ac10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47abc8
cmp byte [eax], 0x5c
jne 0x47a9cf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a9cf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a80b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a9cd
cmp dl, 0x29
je 0x47a9cd
test bl, 0x10
jmp 0x47a9bf
cmp eax, 0x5c
jne 0x47a931
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a85a
cmp byte [eax], 0x5c
jne 0x47a857
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a857
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a844
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a855
cmp dl, 0x29
je 0x47a855
test bl, 0x10
jne 0x47a857
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a855
cmp dl, 0x7d
jne 0x47a857
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
test byte [esi + 0x50], 0x80
je 0x47a925
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x47a8c6
push 4
lea ecx, [esi + 0x24]
call fcn.0047ac10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a8ba
cmp byte [eax], 0x5c
jne 0x47a8b7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a8b7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a8a4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a8b5
cmp dl, 0x29
je 0x47a8b5
test bl, 0x10
jne 0x47a8b7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a8b5
cmp dl, 0x7d
jne 0x47a8b7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
jmp 0x47abd9
cmp al, 0x42
jne 0x47a925
push 4
lea ecx, [esi + 0x24]
call fcn.0047ac10
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a919
cmp byte [eax], 0x5c
jne 0x47a916
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a916
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a903
mov al, byte [ecx]
cmp al, 0x28
je 0x47a914
cmp al, 0x29
je 0x47a914
mov eax, dword [esi]
test dl, 0x10
jne 0x47a916
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a914
cmp dl, 0x7d
jne 0x47a916
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
jmp 0x47abd9
mov ecx, esi
call fcn.0047c130
jmp 0x47abcf
cmp eax, 0x5b
jne 0x47a9d7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a978
cmp byte [eax], 0x5c
jne 0x47a975
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a975
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a962
mov al, byte [ecx]
cmp al, 0x28
je 0x47a973
cmp al, 0x29
je 0x47a973
mov eax, dword [esi]
test dl, 0x10
jne 0x47a975
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a973
cmp dl, 0x7d
jne 0x47a975
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
mov ecx, esi
call fcn.0047c000
cmp dword [esi + 0x4c], 0x5d
jne 0x47ac02
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47abc8
cmp byte [eax], 0x5c
jne 0x47a9cf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a9cf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a9bc
mov al, byte [ecx]
cmp al, 0x28
je 0x47a9cd
cmp al, 0x29
je 0x47a9cd
mov eax, dword [esi]
test dl, 0x10
jne 0x47a9cf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a9cd
cmp dl, 0x7d
jne 0x47a9cf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x47abc8
cmp eax, 0x28
jne 0x47aa8a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47aa1e
cmp byte [eax], 0x5c
jne 0x47aa1b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47aa1b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47aa08
mov al, byte [ecx]
cmp al, 0x28
je 0x47aa19
cmp al, 0x29
je 0x47aa19
mov eax, dword [esi]
test dl, 0x10
jne 0x47aa1b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47aa19
cmp dl, 0x7d
jne 0x47aa1b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
mov ecx, esi
call fcn.0047c280
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x47abf4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47aa76
cmp byte [eax], 0x5c
jne 0x47aa73
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47aa73
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47aa60
mov al, byte [ecx]
cmp al, 0x28
je 0x47aa71
cmp al, 0x29
je 0x47aa71
mov eax, dword [esi]
test dl, 0x10
jne 0x47aa73
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47aa71
cmp dl, 0x7d
jne 0x47aa73
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477590
test bl, bl
je 0x47abd9
jmp 0x47abcf
cmp eax, 0x5e
jne 0x47aae0
push 2
lea ecx, [esi + 0x24]
call fcn.0047ac10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47aad4
cmp byte [eax], 0x5c
jne 0x47aad2
inc eax
cmp eax, ecx
je 0x47aad2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47aabf
mov dl, byte [eax]
cmp dl, 0x28
je 0x47aad0
cmp dl, 0x29
je 0x47aad0
test cl, 0x10
jne 0x47aad2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47aad0
cmp cl, 0x7d
jne 0x47aad2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477590
jmp 0x47abd9
cmp eax, 0x24
jne 0x47ab36
push 3
lea ecx, [esi + 0x24]
call fcn.0047ac10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47ab2a
cmp byte [eax], 0x5c
jne 0x47ab28
inc eax
cmp eax, ecx
je 0x47ab28
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47ab15
mov dl, byte [eax]
cmp dl, 0x28
je 0x47ab26
cmp dl, 0x29
je 0x47ab26
test cl, 0x10
jne 0x47ab28
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47ab26
cmp cl, 0x7d
jne 0x47ab28
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477590
jmp 0x47abd9
cmp eax, 0x2a
je 0x47abed
cmp eax, 0x2b
je 0x47abed
cmp eax, 0x3f
je 0x47abed
cmp eax, 0x7b
je 0x47abed
cmp eax, 0x7d
jne 0x47ab6e
test dword [esi + 0x50], 0x10000000
je 0x47abfb
jmp 0x47ab80
cmp eax, 0x5d
jne 0x47ab80
test dword [esi + 0x50], 0x10000000
je 0x47ac02
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047c710
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47abc8
cmp byte [eax], 0x5c
jne 0x47abc6
inc eax
cmp eax, ecx
je 0x47abc6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47abb3
mov dl, byte [eax]
cmp dl, 0x28
je 0x47abc4
cmp dl, 0x29
je 0x47abc4
test cl, 0x10
jne 0x47abc6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47abc4
cmp cl, 0x7d
jne 0x47abc6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477590
mov ecx, esi
call fcn.0047c4e0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x47a796
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00477580
push 5
call fcn.00477580
push 6
call fcn.00477580
push 4
call fcn.00477580
int3